- Compute the multiplication of an XFL (xls17) floating point number and the quotient of two integers
- Return a new XFL as an int64_t
int64_t float_multiply ( int64_t float1, uint32_t round_up, uint32_t numerator, uint32_t denominator );
int64_t max_vault_pusd = float_mulratio(max_vault_pusd, 0, COLLATERALIZATION_NUMERATOR, COLLATERALIZATION_DENOMINATOR);
|float1||int64_t||An XFL floating point enclosing number representing the first operand to the multiplication|
|round_up||uint32_t||If non-zero all computations will be rounded up|
|numerator||uint32_t||The numerator of the quotient that the float will be multiplied by|
|denominator||uint32_t||The denominator of the quotient that the float will be multiplied by|
Certain multiplications may overflow, which return with an
INVALID_FLOATerror. However an underflow returns as XFL Canonical Zero (i.e. enclosing number = 0).
|int64_t||The XFL (xls17) enclosing number|
If negative, an error:
- one of the supplied parameters was not a valid XFL enclosing number
- the result of the multiplication was too large to store in an XFL.
- the supplied denominator was zero.