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
Name | Type | Description |
exp | struct ExponentialNoError.Exp |
mul_ScalarTruncate
Multiply an Exp by a scalar, then truncate to return an unsigned integer.
Arguments
Name | Type | Description |
a | struct ExponentialNoError.Exp | |
scalar | uint256 |
mul_ScalarTruncateAddUInt
Multiply an Exp by a scalar, truncate, then add an to an unsigned integer, returning an unsigned integer.
Arguments
Name | Type | Description |
a | struct ExponentialNoError.Exp | |
scalar | uint256 | |
addend | uint256 |
lessThanExp
Checks if first Exp is less than second Exp.
Arguments
Name | Type | Description |
left | struct ExponentialNoError.Exp | |
right | struct ExponentialNoError.Exp |
lessThanOrEqualExp
Checks if left Exp <= right Exp.
Arguments
Name | Type | Description |
left | struct ExponentialNoError.Exp | |
right | struct ExponentialNoError.Exp |
greaterThanExp
Checks if left Exp > right Exp.
Arguments
Name | Type | Description |
left | struct ExponentialNoError.Exp | |
right | struct ExponentialNoError.Exp |
isZeroExp
returns true if Exp is exactly zero
Arguments
Name | Type | Description |
value | struct ExponentialNoError.Exp |
safe224
Arguments
Name | Type | Description |
n | uint256 | |
errorMessage | string |
safe32
Arguments
Name | Type | Description |
n | uint256 | |
errorMessage | string |
add_
Arguments
Name | Type | Description |
a | struct ExponentialNoError.Exp | |
b | struct ExponentialNoError.Exp |
add_
Arguments
Name | Type | Description |
a | struct ExponentialNoError.Double | |
b | struct ExponentialNoError.Double |
add_
Arguments
Name | Type | Description |
a | uint256 | |
b | uint256 |
add_
Arguments
Name | Type | Description |
a | uint256 | |
b | uint256 | |
errorMessage | string |
sub_
Arguments
Name | Type | Description |
a | struct ExponentialNoError.Exp | |
b | struct ExponentialNoError.Exp |
sub_
Arguments
Name | Type | Description |
a | struct ExponentialNoError.Double | |
b | struct ExponentialNoError.Double |
sub_
Arguments
Name | Type | Description |
a | uint256 | |
b | uint256 |
sub_
Arguments
Name | Type | Description |
a | uint256 | |
b | uint256 | |
errorMessage | string |
mul_
Arguments
Name | Type | Description |
a | struct ExponentialNoError.Exp | |
b | struct ExponentialNoError.Exp |
mul_
Arguments
Name | Type | Description |
a | struct ExponentialNoError.Exp | |
b | uint256 |
mul_
Arguments
Name | Type | Description |
a | uint256 | |
b | struct ExponentialNoError.Exp |
mul_
Arguments
Name | Type | Description |
a | struct ExponentialNoError.Double | |
b | struct ExponentialNoError.Double |
mul_
Arguments
Name | Type | Description |
a | struct ExponentialNoError.Double | |
b | uint256 |
mul_
Arguments
Name | Type | Description |
a | uint256 | |
b | struct ExponentialNoError.Double |
mul_
Arguments
Name | Type | Description |
a | uint256 | |
b | uint256 |
mul_
Arguments
Name | Type | Description |
a | uint256 | |
b | uint256 | |
errorMessage | string |
div_
Arguments
Name | Type | Description |
a | struct ExponentialNoError.Exp | |
b | struct ExponentialNoError.Exp |
div_
Arguments
Name | Type | Description |
a | struct ExponentialNoError.Exp | |
b | uint256 |
div_
Arguments
Name | Type | Description |
a | uint256 | |
b | struct ExponentialNoError.Exp |
div_
Arguments
Name | Type | Description |
a | struct ExponentialNoError.Double | |
b | struct ExponentialNoError.Double |
div_
Arguments
Name | Type | Description |
a | struct ExponentialNoError.Double | |
b | uint256 |
div_
Arguments
Name | Type | Description |
a | uint256 | |
b | struct ExponentialNoError.Double |
div_
Arguments
Name | Type | Description |
a | uint256 | |
b | uint256 |
div_
Arguments
Name | Type | Description |
a | uint256 | |
b | uint256 | |
errorMessage | string |
fraction
Arguments
Name | Type | Description |
a | uint256 | |
b | uint256 |
Last updated