FixedPoint
Library for fixed point arithmetic on uints
fromUnscaledUint(uint256 a) → struct FixedPoint.Unsigned internal
Constructs an Unsigned from an unscaled uint, e.g., b=5 gets stored internally as 5*(10**18).
Parameters:
-
a: uint to convert into a FixedPoint.
isEqual(struct FixedPoint.Unsigned a, uint256 b) → bool internal
Whether a is equal to b.
Parameters:
-
a: a FixedPoint. -
b: a uint256.
isEqual(struct FixedPoint.Unsigned a, struct FixedPoint.Unsigned b) → bool internal
Whether a is equal to b.
Parameters:
-
a: a FixedPoint. -
b: a FixedPoint.
isGreaterThan(struct FixedPoint.Unsigned a, struct FixedPoint.Unsigned b) → bool internal
Whether a is greater than b.
Parameters:
-
a: a FixedPoint. -
b: a FixedPoint.
isGreaterThan(struct FixedPoint.Unsigned a, uint256 b) → bool internal
Whether a is greater than b.
Parameters:
-
a: a FixedPoint. -
b: a uint256.
isGreaterThan(uint256 a, struct FixedPoint.Unsigned b) → bool internal
Whether a is greater than b.
Parameters:
-
a: a uint256. -
b: a FixedPoint.
isGreaterThanOrEqual(struct FixedPoint.Unsigned a, struct FixedPoint.Unsigned b) → bool internal
Whether a is greater than or equal to b.
Parameters:
-
a: a FixedPoint. -
b: a FixedPoint.
isGreaterThanOrEqual(struct FixedPoint.Unsigned a, uint256 b) → bool internal
Whether a is greater than or equal to b.
Parameters:
-
a: a FixedPoint. -
b: a uint256.
isGreaterThanOrEqual(uint256 a, struct FixedPoint.Unsigned b) → bool internal
Whether a is greater than or equal to b.
Parameters:
-
a: a uint256. -
b: a FixedPoint.
isLessThan(struct FixedPoint.Unsigned a, struct FixedPoint.Unsigned b) → bool internal
Whether a is less than b.
Parameters:
-
a: a FixedPoint. -
b: a FixedPoint.
isLessThan(struct FixedPoint.Unsigned a, uint256 b) → bool internal
Whether a is less than b.
Parameters:
-
a: a FixedPoint. -
b: a uint256.
isLessThan(uint256 a, struct FixedPoint.Unsigned b) → bool internal
Whether a is less than b.
Parameters:
-
a: a uint256. -
b: a FixedPoint.
isLessThanOrEqual(struct FixedPoint.Unsigned a, struct FixedPoint.Unsigned b) → bool internal
Whether a is less than or equal to b.
Parameters:
-
a: a FixedPoint. -
b: a FixedPoint.
isLessThanOrEqual(struct FixedPoint.Unsigned a, uint256 b) → bool internal
Whether a is less than or equal to b.
Parameters:
-
a: a FixedPoint. -
b: a uint256.
isLessThanOrEqual(uint256 a, struct FixedPoint.Unsigned b) → bool internal
Whether a is less than or equal to b.
Parameters:
-
a: a uint256. -
b: a FixedPoint.
min(struct FixedPoint.Unsigned a, struct FixedPoint.Unsigned b) → struct FixedPoint.Unsigned internal
The minimum of a and b.
Parameters:
-
a: a FixedPoint. -
b: a FixedPoint.
max(struct FixedPoint.Unsigned a, struct FixedPoint.Unsigned b) → struct FixedPoint.Unsigned internal
The maximum of a and b.
Parameters:
-
a: a FixedPoint. -
b: a FixedPoint.
add(struct FixedPoint.Unsigned a, struct FixedPoint.Unsigned b) → struct FixedPoint.Unsigned internal
Adds two `Unsigned`s, reverting on overflow.
Parameters:
-
a: a FixedPoint. -
b: a FixedPoint.
add(struct FixedPoint.Unsigned a, uint256 b) → struct FixedPoint.Unsigned internal
Adds an Unsigned to an unscaled uint, reverting on overflow.
Parameters:
-
a: a FixedPoint. -
b: a uint256.
sub(struct FixedPoint.Unsigned a, struct FixedPoint.Unsigned b) → struct FixedPoint.Unsigned internal
Subtracts two `Unsigned`s, reverting on overflow.
Parameters:
-
a: a FixedPoint. -
b: a FixedPoint.
sub(struct FixedPoint.Unsigned a, uint256 b) → struct FixedPoint.Unsigned internal
Subtracts an unscaled uint256 from an Unsigned, reverting on overflow.
Parameters:
-
a: a FixedPoint. -
b: a uint256.
sub(uint256 a, struct FixedPoint.Unsigned b) → struct FixedPoint.Unsigned internal
Subtracts an Unsigned from an unscaled uint256, reverting on overflow.
Parameters:
-
a: a uint256. -
b: a FixedPoint.
mul(struct FixedPoint.Unsigned a, struct FixedPoint.Unsigned b) → struct FixedPoint.Unsigned internal
Multiplies two `Unsigned`s, reverting on overflow.
This will "floor" the product.
Parameters:
-
a: a FixedPoint. -
b: a FixedPoint.
mul(struct FixedPoint.Unsigned a, uint256 b) → struct FixedPoint.Unsigned internal
Multiplies an Unsigned and an unscaled uint256, reverting on overflow.
This will "floor" the product.
Parameters:
-
a: a FixedPoint. -
b: a uint256.
mulCeil(struct FixedPoint.Unsigned a, struct FixedPoint.Unsigned b) → struct FixedPoint.Unsigned internal
Multiplies two `Unsigned`s and "ceil’s" the product, reverting on overflow.
Parameters:
-
a: a FixedPoint. -
b: a FixedPoint.
mulCeil(struct FixedPoint.Unsigned a, uint256 b) → struct FixedPoint.Unsigned internal
Multiplies an Unsigned and an unscaled uint256 and "ceil’s" the product, reverting on overflow.
Parameters:
-
a: a FixedPoint. -
b: a FixedPoint.
div(struct FixedPoint.Unsigned a, struct FixedPoint.Unsigned b) → struct FixedPoint.Unsigned internal
Divides one Unsigned by an Unsigned, reverting on overflow or division by 0.
This will "floor" the quotient.
Parameters:
-
a: a FixedPoint numerator. -
b: a FixedPoint denominator.
div(struct FixedPoint.Unsigned a, uint256 b) → struct FixedPoint.Unsigned internal
Divides one Unsigned by an unscaled uint256, reverting on overflow or division by 0.
This will "floor" the quotient.
Parameters:
-
a: a FixedPoint numerator. -
b: a uint256 denominator.
div(uint256 a, struct FixedPoint.Unsigned b) → struct FixedPoint.Unsigned internal
Divides one unscaled uint256 by an Unsigned, reverting on overflow or division by 0.
This will "floor" the quotient.
Parameters:
-
a: a uint256 numerator. -
b: a FixedPoint denominator.
divCeil(struct FixedPoint.Unsigned a, struct FixedPoint.Unsigned b) → struct FixedPoint.Unsigned internal
Divides one Unsigned by an Unsigned and "ceil’s" the quotient, reverting on overflow or division by 0.
Parameters:
-
a: a FixedPoint numerator. -
b: a FixedPoint denominator.
divCeil(struct FixedPoint.Unsigned a, uint256 b) → struct FixedPoint.Unsigned internal
Divides one Unsigned by an unscaled uint256 and "ceil’s" the quotient, reverting on overflow or division by 0.
Parameters:
-
a: a FixedPoint numerator. -
b: a uint256 denominator.
pow(struct FixedPoint.Unsigned a, uint256 b) → struct FixedPoint.Unsigned output internal
Raises an Unsigned to the power of an unscaled uint256, reverting on overflow. E.g., b=2 squares a.
This will "floor" the result.
Parameters:
-
a: a FixedPoint numerator. -
b: a uint256 denominator.
fromUnscaledInt(int256 a) → struct FixedPoint.Signed internal
Constructs a Signed from an unscaled int, e.g., b=5 gets stored internally as 5*(10**18).
Parameters:
-
a: int to convert into a FixedPoint.Signed.
isEqual(struct FixedPoint.Signed a, int256 b) → bool internal
Whether a is equal to b.
Parameters:
-
a: a FixedPoint.Signed. -
b: a int256.
isEqual(struct FixedPoint.Signed a, struct FixedPoint.Signed b) → bool internal
Whether a is equal to b.
Parameters:
-
a: a FixedPoint.Signed. -
b: a FixedPoint.Signed.
isGreaterThan(struct FixedPoint.Signed a, struct FixedPoint.Signed b) → bool internal
Whether a is greater than b.
Parameters:
-
a: a FixedPoint.Signed. -
b: a FixedPoint.Signed.
isGreaterThan(struct FixedPoint.Signed a, int256 b) → bool internal
Whether a is greater than b.
Parameters:
-
a: a FixedPoint.Signed. -
b: an int256.
isGreaterThan(int256 a, struct FixedPoint.Signed b) → bool internal
Whether a is greater than b.
Parameters:
-
a: an int256. -
b: a FixedPoint.Signed.
isGreaterThanOrEqual(struct FixedPoint.Signed a, struct FixedPoint.Signed b) → bool internal
Whether a is greater than or equal to b.
Parameters:
-
a: a FixedPoint.Signed. -
b: a FixedPoint.Signed.
isGreaterThanOrEqual(struct FixedPoint.Signed a, int256 b) → bool internal
Whether a is greater than or equal to b.
Parameters:
-
a: a FixedPoint.Signed. -
b: an int256.
isGreaterThanOrEqual(int256 a, struct FixedPoint.Signed b) → bool internal
Whether a is greater than or equal to b.
Parameters:
-
a: an int256. -
b: a FixedPoint.Signed.
isLessThan(struct FixedPoint.Signed a, struct FixedPoint.Signed b) → bool internal
Whether a is less than b.
Parameters:
-
a: a FixedPoint.Signed. -
b: a FixedPoint.Signed.
isLessThan(struct FixedPoint.Signed a, int256 b) → bool internal
Whether a is less than b.
Parameters:
-
a: a FixedPoint.Signed. -
b: an int256.
isLessThan(int256 a, struct FixedPoint.Signed b) → bool internal
Whether a is less than b.
Parameters:
-
a: an int256. -
b: a FixedPoint.Signed.
isLessThanOrEqual(struct FixedPoint.Signed a, struct FixedPoint.Signed b) → bool internal
Whether a is less than or equal to b.
Parameters:
-
a: a FixedPoint.Signed. -
b: a FixedPoint.Signed.
isLessThanOrEqual(struct FixedPoint.Signed a, int256 b) → bool internal
Whether a is less than or equal to b.
Parameters:
-
a: a FixedPoint.Signed. -
b: an int256.
isLessThanOrEqual(int256 a, struct FixedPoint.Signed b) → bool internal
Whether a is less than or equal to b.
Parameters:
-
a: an int256. -
b: a FixedPoint.Signed.
min(struct FixedPoint.Signed a, struct FixedPoint.Signed b) → struct FixedPoint.Signed internal
The minimum of a and b.
Parameters:
-
a: a FixedPoint.Signed. -
b: a FixedPoint.Signed.
max(struct FixedPoint.Signed a, struct FixedPoint.Signed b) → struct FixedPoint.Signed internal
The maximum of a and b.
Parameters:
-
a: a FixedPoint.Signed. -
b: a FixedPoint.Signed.
add(struct FixedPoint.Signed a, struct FixedPoint.Signed b) → struct FixedPoint.Signed internal
Adds two `Signed`s, reverting on overflow.
Parameters:
-
a: a FixedPoint.Signed. -
b: a FixedPoint.Signed.
add(struct FixedPoint.Signed a, int256 b) → struct FixedPoint.Signed internal
Adds an Signed to an unscaled int, reverting on overflow.
Parameters:
-
a: a FixedPoint.Signed. -
b: an int256.
sub(struct FixedPoint.Signed a, struct FixedPoint.Signed b) → struct FixedPoint.Signed internal
Subtracts two `Signed`s, reverting on overflow.
Parameters:
-
a: a FixedPoint.Signed. -
b: a FixedPoint.Signed.
sub(struct FixedPoint.Signed a, int256 b) → struct FixedPoint.Signed internal
Subtracts an unscaled int256 from an Signed, reverting on overflow.
Parameters:
-
a: a FixedPoint.Signed. -
b: an int256.
sub(int256 a, struct FixedPoint.Signed b) → struct FixedPoint.Signed internal
Subtracts an Signed from an unscaled int256, reverting on overflow.
Parameters:
-
a: an int256. -
b: a FixedPoint.Signed.
mul(struct FixedPoint.Signed a, struct FixedPoint.Signed b) → struct FixedPoint.Signed internal
Multiplies two `Signed`s, reverting on overflow.
This will "floor" the product.
Parameters:
-
a: a FixedPoint.Signed. -
b: a FixedPoint.Signed.
mul(struct FixedPoint.Signed a, int256 b) → struct FixedPoint.Signed internal
Multiplies an Signed and an unscaled int256, reverting on overflow.
This will "floor" the product.
Parameters:
-
a: a FixedPoint.Signed. -
b: an int256.
mulAwayFromZero(struct FixedPoint.Signed a, struct FixedPoint.Signed b) → struct FixedPoint.Signed internal
Multiplies two `Signed`s and "ceil’s" the product, reverting on overflow.
Parameters:
-
a: a FixedPoint.Signed. -
b: a FixedPoint.Signed.
mulAwayFromZero(struct FixedPoint.Signed a, int256 b) → struct FixedPoint.Signed internal
Multiplies an Signed and an unscaled int256 and "ceil’s" the product, reverting on overflow.
Parameters:
-
a: a FixedPoint.Signed. -
b: a FixedPoint.Signed.
div(struct FixedPoint.Signed a, struct FixedPoint.Signed b) → struct FixedPoint.Signed internal
Divides one Signed by an Signed, reverting on overflow or division by 0.
This will "floor" the quotient.
Parameters:
-
a: a FixedPoint numerator. -
b: a FixedPoint denominator.
div(struct FixedPoint.Signed a, int256 b) → struct FixedPoint.Signed internal
Divides one Signed by an unscaled int256, reverting on overflow or division by 0.
This will "floor" the quotient.
Parameters:
-
a: a FixedPoint numerator. -
b: an int256 denominator.
div(int256 a, struct FixedPoint.Signed b) → struct FixedPoint.Signed internal
Divides one unscaled int256 by an Signed, reverting on overflow or division by 0.
This will "floor" the quotient.
Parameters:
-
a: an int256 numerator. -
b: a FixedPoint denominator.
divAwayFromZero(struct FixedPoint.Signed a, struct FixedPoint.Signed b) → struct FixedPoint.Signed internal
Divides one Signed by an Signed and "ceil’s" the quotient, reverting on overflow or division by 0.
Parameters:
-
a: a FixedPoint numerator. -
b: a FixedPoint denominator.
divAwayFromZero(struct FixedPoint.Signed a, int256 b) → struct FixedPoint.Signed internal
Divides one Signed by an unscaled int256 and "ceil’s" the quotient, reverting on overflow or division by 0.
Parameters:
-
a: a FixedPoint numerator. -
b: an int256 denominator.
pow(struct FixedPoint.Signed a, uint256 b) → struct FixedPoint.Signed output internal
Raises an Signed to the power of an unscaled uint256, reverting on overflow. E.g., b=2 squares a.
This will "floor" the result.
Parameters:
-
a: a FixedPoint.Signed. -
b: a uint256 (negative exponents are not allowed).