Dynamic Fraction Library 1.0.0
Reference-counted arbitrary precision rational number library (MIT OR Unlicense)
Loading...
Searching...
No Matches
Functions
Lifecycle Management

Functions for creating and destroying fractions. More...

Functions

df_frac df_from_ints (int64_t numerator, int64_t denominator)
 Create a fraction from numerator and denominator.
 
df_frac df_from_di (di_int numerator, di_int denominator)
 Create a fraction from a di_int numerator and denominator.
 
df_frac df_from_int (int64_t value)
 Create a fraction from an integer.
 
df_frac df_from_double (double value, int64_t max_denominator)
 Create a fraction from a double.
 
df_frac df_copy (df_frac f)
 Create a copy of a fraction.
 
df_frac df_retain (df_frac f)
 Increase reference count.
 
void df_release (df_frac *f)
 Decrease reference count and free if zero.
 

Detailed Description

Functions for creating and destroying fractions.

Function Documentation

◆ df_copy()

df_frac df_copy ( df_frac  f)

Create a copy of a fraction.

Parameters
fFraction to copy (may be NULL)
Returns
New df_frac with same value

Definition at line 678 of file dynamic_fraction.h.

◆ df_from_di()

df_frac df_from_di ( di_int  numerator,
di_int  denominator 
)

Create a fraction from a di_int numerator and denominator.

Parameters
numeratorNumerator as di_int
denominatorDenominator as di_int (must not be 0)
Returns
New df_frac or NULL on failure

Definition at line 624 of file dynamic_fraction.h.

◆ df_from_double()

df_frac df_from_double ( double  value,
int64_t  max_denominator 
)

Create a fraction from a double.

Parameters
valueDouble value
max_denominatorMaximum denominator for approximation
Returns
New df_frac approximating the double value

Definition at line 645 of file dynamic_fraction.h.

◆ df_from_int()

df_frac df_from_int ( int64_t  value)

Create a fraction from an integer.

Parameters
valueInteger value
Returns
New df_frac representing value/1

Definition at line 640 of file dynamic_fraction.h.

◆ df_from_ints()

df_frac df_from_ints ( int64_t  numerator,
int64_t  denominator 
)

Create a fraction from numerator and denominator.

Parameters
numeratorNumerator value
denominatorDenominator value (must not be 0)
Returns
New df_frac or NULL on failure

The fraction is automatically reduced to lowest terms.

Definition at line 602 of file dynamic_fraction.h.

◆ df_release()

void df_release ( df_frac f)

Decrease reference count and free if zero.

Parameters
fPointer to fraction (will be set to NULL)

Definition at line 696 of file dynamic_fraction.h.

◆ df_retain()

df_frac df_retain ( df_frac  f)

Increase reference count.

Parameters
fFraction to retain (may be NULL)
Returns
The same fraction pointer

Definition at line 689 of file dynamic_fraction.h.