#Fixed Point Math
Functions marked with Fixed Point Math, grouped from the generated Determica catalog for fast scanning across related workflows.
- fixed_div(UINT256, UINT256, UINT256) Computes fixed-point division as x * scale / y with a full 512-bit intermediate product. The caller owns the units and scale: this function does not require decimal, WAD, or Q-format inputs. It is pure and deterministic. NULL input propagates to NULL. A zero y or a rounded quotient above UINT256 raises an error.Scalar · Fixed-point and AMM math
- fixed_exp(INT256) Computes e^(x / 1e18) * 1e18 for an 18-decimal fixed-point (WAD) exponent, with integer arithmetic only. NULL propagates; an exponent outside [-41e18, 130e18] errors. Results equal, digit for digit, those of the LogExpMath library that Balancer V2 and Pendle V2 contracts use, so a query recomputes an on-chain rate exactly. Accuracy: within 1e-17 relative for results of 1e17 or more; a few wei near 1e18 (exp(1e18) is 2718281828459045235); a tiny result keeps few digits (exp(-41e18) is 1, true 1.56).Scalar · Fixed-point and AMM math
- fixed_ln(UINT256) Computes ln(x / 1e18) * 1e18 for a positive 18-decimal fixed-point (WAD) value, with integer arithmetic only; arguments in (0.9e18, 1.1e18) use a 36-decimal series. NULL propagates. Results equal, digit for digit, those of the LogExpMath library that Balancer V2 and Pendle V2 contracts use, so a query recomputes an on-chain rate exactly. Accuracy: within 2 wei of the true value, on either side.Scalar · Fixed-point and AMM math
- fixed_mul(UINT256, UINT256, UINT256) Computes fixed-point multiplication as x * y / scale with a full 512-bit intermediate product. The caller owns the units and scale: this function does not require decimal, WAD, or Q-format inputs. It is pure and deterministic. NULL input propagates to NULL. A zero scale or a rounded quotient above UINT256 raises an error.Scalar · Fixed-point and AMM math
- fixed_pow(UINT256, UINT256) Raises an 18-decimal fixed-point (WAD) base to a WAD exponent as exp(y * ln(x)), with integer arithmetic only, for example to annualise a growth factor. NULL propagates. Results equal, digit for digit, those of the LogExpMath library that Balancer V2 and Pendle V2 contracts use, so a query recomputes an on-chain rate exactly. Accuracy: within 1e-16 relative for results of 1e17 or more (fixed_pow(2e18, 1e18) is 1999999999999999998).Scalar · Fixed-point and AMM math