Fixed Point Arithmetic
0
Fixed-point math library.
|
Go to the source code of this file.
Functions | |
bool | f_gt (frac a, frac b) |
Greater-than comparison - single precision. More... | |
bool | f_ge (frac a, frac b) |
Greater or equal comparison - single precision. More... | |
bool | f_lt (frac a, frac b) |
Less-than comparison - single precision. More... | |
bool | f_le (frac a, frac b) |
Less or equal comparison - single precision. More... | |
bool | f_eq (frac a, frac b) |
Equality comparison - single precision. More... | |
bool | df_gt (dfrac a, dfrac b) |
Greater-than comparison - double precision. More... | |
bool | df_ge (dfrac a, dfrac b) |
Greater or equal comparison - double precision. More... | |
bool | df_lt (dfrac a, dfrac b) |
Less-than comparison - double precision. More... | |
bool | df_le (dfrac a, dfrac b) |
Less or equal comparison - double precision. More... | |
bool | df_eq (dfrac a, dfrac b) |
Equality comparison - double precision. More... | |
frac | f_add (frac a, frac b) |
Add two single precision fractional numbers - may overflow. More... | |
frac | f_sub (frac a, frac b) |
Substract two single precision fractional numbers - may overflow. More... | |
dfrac | df_add (dfrac a, dfrac b) |
Add two double precision fractional numbers - may overflow. More... | |
dfrac | df_sub (dfrac a, dfrac b) |
Substract two double precision fractional numbers - may overflow. More... | |
efrac | ef_add (efrac a, efrac b) |
Add two extended precision fractional numbers - may overflow. More... | |
efrac | ef_sub (efrac a, efrac b) |
Substract two extended precision fractional numbers - may overflow. More... | |
efrac | ef_f_add (efrac a, frac b) |
Add a single precision fractional to an extended precision fractional. More... | |
frac | f_neg (frac a) |
Negate single precision fractional. More... | |
dfrac | df_neg (dfrac a) |
Negate double precision fractional. More... | |
efrac | ef_neg (efrac a) |
Negate extended precision fractional. More... | |
frac | f_mul (frac a, frac b) |
Multiply single precision, yield single precision. More... | |
dfrac | f_mul_df (frac a, frac b) |
Multiply single precision, yield double precision. More... | |
efrac | f_mf_mul_ef (frac a, mfrac b) |
Multiply single precision by mixed fractional, yield extended precision,. More... | |
frac | f_imul (frac a, int16_t b) |
Multiply single precision by integer, yield single precision. More... | |
int | f_imul_i (frac a, int b) |
Multiply single precision by integer, yield integer. More... | |
efrac | f_imul_ef (frac a, int16_t b) |
Multiply single precision by integer, yield extended precision. More... | |
dfrac | df_imul (dfrac a, int16_t b) |
Multiply double precision by integer, yield double precision. More... | |
efrac | ef_imul (efrac a, int16_t b) |
Multiply extended precision by integer, yield extended precision. More... | |
frac | f_idiv (frac a, int16_t b) |
Divide single precision by integer, yield single precision. More... | |
dfrac | df_idiv (dfrac a, int16_t b) |
Divide double precision by integer, yield double precision. More... | |
efrac | ef_idiv (efrac a, int16_t b) |
Divide extended precision by integer, yield extended precision. More... | |
dfrac | df_shiftl (dfrac a, int16_t b) |
Arithmetic shift left a double precision fractional. More... | |
dfrac | df_shiftr (dfrac a, int16_t b) |
Arithmetic shift right a double precision fractional. More... | |
frac | df_to_f (dfrac x) |
Truncate to single precision. More... | |
dfrac | f_to_df (frac x) |
Extend a single precision number to double precision. More... | |
efrac | f_to_ef (frac x) |
Extend a single precision fractional to an extended-fractional. More... | |
efrac | f_ef_div (frac dividend, efrac divisor) |
Divide a frac by an efrac and return an efrac. More... | |
frac | ef_to_f (efrac x) |
Saturate an extended fractional to yield a fractional. More... | |
frac | f_clip (frac x, frac limit) |
Clip a number to lie between -limit and limit. More... | |
dfrac | df_addsat (dfrac x1, dfrac x2) |
Add with saturation. More... | |
dfrac | f_macs_df (frac x, frac y, dfrac z) |
Multiply-accumulate with saturation. More... | |
Fractional number routines.
About Fractional multiplication routines: This is the code that you should modify if you want to maximise performance for your particular machine; for example, if you have a hardware multiplier. The rest of the code is generic.
Definition in file fixed_point.h.