Exponential module for storing fixed-precision decimals (ExponentialNoError.sol)
View Source: contracts/ExponentialNoError.sol
↘ Derived Contracts: RewardControl
Exp is a struct which stores decimals with a fixed precision of 18 decimal places. Thus, if we wanted to store the 5.1, mantissa would store 5.1e18. That is: Exp({mantissa: 5100000000000000000})
.
Structs
Exp
Double
Contract Members
Constants & Variables
Functions
truncate(struct ExponentialNoError.Exp exp)
mul_ScalarTruncate(struct ExponentialNoError.Exp a, uint256 scalar)
mul_ScalarTruncateAddUInt(struct ExponentialNoError.Exp a, uint256 scalar, uint256 addend)
lessThanExp(struct ExponentialNoError.Exp left, struct ExponentialNoError.Exp right)
lessThanOrEqualExp(struct ExponentialNoError.Exp left, struct ExponentialNoError.Exp right)
greaterThanExp(struct ExponentialNoError.Exp left, struct ExponentialNoError.Exp right)
isZeroExp(struct ExponentialNoError.Exp value)
safe224(uint256 n, string errorMessage)
safe32(uint256 n, string errorMessage)
add_(struct ExponentialNoError.Exp a, struct ExponentialNoError.Exp b)
add_(struct ExponentialNoError.Double a, struct ExponentialNoError.Double b)
add_(uint256 a, uint256 b)
add_(uint256 a, uint256 b, string errorMessage)
sub_(struct ExponentialNoError.Exp a, struct ExponentialNoError.Exp b)
sub_(struct ExponentialNoError.Double a, struct ExponentialNoError.Double b)
sub_(uint256 a, uint256 b)
sub_(uint256 a, uint256 b, string errorMessage)
mul_(struct ExponentialNoError.Exp a, struct ExponentialNoError.Exp b)
mul_(struct ExponentialNoError.Exp a, uint256 b)
mul_(uint256 a, struct ExponentialNoError.Exp b)
mul_(struct ExponentialNoError.Double a, struct ExponentialNoError.Double b)
mul_(struct ExponentialNoError.Double a, uint256 b)
mul_(uint256 a, struct ExponentialNoError.Double b)
mul_(uint256 a, uint256 b)
mul_(uint256 a, uint256 b, string errorMessage)
div_(struct ExponentialNoError.Exp a, struct ExponentialNoError.Exp b)
div_(struct ExponentialNoError.Exp a, uint256 b)
div_(uint256 a, struct ExponentialNoError.Exp b)
div_(struct ExponentialNoError.Double a, struct ExponentialNoError.Double b)
div_(struct ExponentialNoError.Double a, uint256 b)
div_(uint256 a, struct ExponentialNoError.Double b)
div_(uint256 a, uint256 b)
div_(uint256 a, uint256 b, string errorMessage)
fraction(uint256 a, uint256 b)
truncate
Truncates the given exp to a whole number value. For example, truncate(Exp{mantissa: 15 * expScale}) = 15
Arguments
mul_ScalarTruncate
Multiply an Exp by a scalar, then truncate to return an unsigned integer.
Arguments
mul_ScalarTruncateAddUInt
Multiply an Exp by a scalar, truncate, then add an to an unsigned integer, returning an unsigned integer.
Arguments
lessThanExp
Checks if first Exp is less than second Exp.
Arguments
lessThanOrEqualExp
Checks if left Exp <= right Exp.
Arguments
greaterThanExp
Checks if left Exp > right Exp.
Arguments
isZeroExp
returns true if Exp is exactly zero
Arguments
safe224
Arguments
safe32
Arguments
add_
Arguments
add_
Arguments
add_
Arguments
add_
Arguments
sub_
Arguments
sub_
Arguments
sub_
Arguments
sub_
Arguments
mul_
Arguments
mul_
Arguments
mul_
Arguments
mul_
Arguments
mul_
Arguments
mul_
Arguments
mul_
Arguments
mul_
Arguments
div_
Arguments
div_
Arguments
div_
Arguments
div_
Arguments
div_
Arguments
div_
Arguments
div_
Arguments
div_
Arguments
fraction
Arguments
Last updated