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

Additional mathematical functions for language interpreters. More...

Functions

df_frac df_pow (df_frac base, int64_t exponent)
 Raise fraction to integer power.
 
df_frac df_floor (df_frac f)
 Floor function - greatest integer ≤ f.
 
df_frac df_ceil (df_frac f)
 Ceiling function - smallest integer ≥ f.
 
df_frac df_trunc (df_frac f)
 Truncate towards zero.
 
df_frac df_round (df_frac f)
 Round to nearest integer.
 
int df_sign (df_frac f)
 Get sign of fraction.
 
df_frac df_min (df_frac a, df_frac b)
 Minimum of two fractions.
 
df_frac df_max (df_frac a, df_frac b)
 Maximum of two fractions.
 
uint64_t df_hash (df_frac f)
 Hash function for fractions.
 
bool df_fits_int32 (df_frac f)
 Check if fraction fits in int32_t.
 
bool df_fits_int64 (df_frac f)
 Check if fraction fits in int64_t.
 
bool df_fits_double (df_frac f)
 Check if fraction fits in double without precision loss.
 
di_int df_whole_part (df_frac f)
 Get integer (whole) part of fraction.
 
df_frac df_fractional_part (df_frac f)
 Get fractional part of fraction.
 

Detailed Description

Additional mathematical functions for language interpreters.

Function Documentation

◆ df_ceil()

df_frac df_ceil ( df_frac  f)

Ceiling function - smallest integer ≥ f.

Parameters
fInput fraction
Returns
New df_frac representing ceil(f)
Since
1.1.0

Definition at line 1096 of file dynamic_fraction.h.

◆ df_fits_double()

bool df_fits_double ( df_frac  f)

Check if fraction fits in double without precision loss.

Parameters
fInput fraction
Returns
true if can be converted to double exactly
Since
1.1.0

Definition at line 1281 of file dynamic_fraction.h.

◆ df_fits_int32()

bool df_fits_int32 ( df_frac  f)

Check if fraction fits in int32_t.

Parameters
fInput fraction
Returns
true if can be converted to int32_t without loss
Since
1.1.0

Definition at line 1263 of file dynamic_fraction.h.

◆ df_fits_int64()

bool df_fits_int64 ( df_frac  f)

Check if fraction fits in int64_t.

Parameters
fInput fraction
Returns
true if can be converted to int64_t without loss
Since
1.1.0

Definition at line 1272 of file dynamic_fraction.h.

◆ df_floor()

df_frac df_floor ( df_frac  f)

Floor function - greatest integer ≤ f.

Parameters
fInput fraction
Returns
New df_frac representing floor(f)
Since
1.1.0

Definition at line 1078 of file dynamic_fraction.h.

◆ df_fractional_part()

df_frac df_fractional_part ( df_frac  f)

Get fractional part of fraction.

Parameters
fInput fraction
Returns
New df_frac with only fractional part (0 ≤ result < 1)
Since
1.1.0

Definition at line 1315 of file dynamic_fraction.h.

◆ df_hash()

uint64_t df_hash ( df_frac  f)

Hash function for fractions.

Parameters
fInput fraction
Returns
Hash value suitable for hash tables
Since
1.1.0

Definition at line 1236 of file dynamic_fraction.h.

◆ df_max()

df_frac df_max ( df_frac  a,
df_frac  b 
)

Maximum of two fractions.

Parameters
aFirst fraction
bSecond fraction
Returns
New df_frac with larger value
Since
1.1.0

Definition at line 1227 of file dynamic_fraction.h.

◆ df_min()

df_frac df_min ( df_frac  a,
df_frac  b 
)

Minimum of two fractions.

Parameters
aFirst fraction
bSecond fraction
Returns
New df_frac with smaller value
Since
1.1.0

Definition at line 1219 of file dynamic_fraction.h.

◆ df_pow()

df_frac df_pow ( df_frac  base,
int64_t  exponent 
)

Raise fraction to integer power.

Parameters
baseBase fraction
exponentInteger exponent
Returns
New df_frac with base^exponent
Since
1.1.0

Definition at line 1031 of file dynamic_fraction.h.

◆ df_round()

df_frac df_round ( df_frac  f)

Round to nearest integer.

Parameters
fInput fraction
Returns
New df_frac rounded to nearest integer
Since
1.1.0

Definition at line 1135 of file dynamic_fraction.h.

◆ df_sign()

int df_sign ( df_frac  f)

Get sign of fraction.

Parameters
fInput fraction
Returns
-1 if negative, 0 if zero, 1 if positive
Since
1.1.0

Definition at line 1210 of file dynamic_fraction.h.

◆ df_trunc()

df_frac df_trunc ( df_frac  f)

Truncate towards zero.

Parameters
fInput fraction
Returns
New df_frac with fractional part removed
Since
1.1.0

Definition at line 1118 of file dynamic_fraction.h.

◆ df_whole_part()

di_int df_whole_part ( df_frac  f)

Get integer (whole) part of fraction.

Parameters
fInput fraction
Returns
New di_int with whole part
Since
1.1.0

Definition at line 1296 of file dynamic_fraction.h.