Skip to main content

ExponentialNoError

ExponentialNoError​

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}).

expScale​

uint256 expScale

doubleScale​

uint256 doubleScale

halfExpScale​

uint256 halfExpScale

mantissaOne​

uint256 mantissaOne

Exp​

struct Exp {
uint256 mantissa;
}

Double​

struct Double {
uint256 mantissa;
}

truncate​

function truncate(struct ExponentialNoError.Exp exp) internal pure returns (uint256)

Truncates the given exp to a whole number value. For example, truncate(Exp{mantissa: 15 * expScale}) = 15

mul_ScalarTruncate​

function mul_ScalarTruncate(struct ExponentialNoError.Exp a, uint256 scalar) internal pure returns (uint256)

Multiply an Exp by a scalar, then truncate to return an unsigned integer.

mul_ScalarTruncateAddUInt​

function mul_ScalarTruncateAddUInt(struct ExponentialNoError.Exp a, uint256 scalar, uint256 addend) internal pure returns (uint256)

Multiply an Exp by a scalar, truncate, then add an to an unsigned integer, returning an unsigned integer.

lessThanExp​

function lessThanExp(struct ExponentialNoError.Exp left, struct ExponentialNoError.Exp right) internal pure returns (bool)

Checks if first Exp is less than second Exp.

lessThanOrEqualExp​

function lessThanOrEqualExp(struct ExponentialNoError.Exp left, struct ExponentialNoError.Exp right) internal pure returns (bool)

Checks if left Exp <= right Exp.

greaterThanExp​

function greaterThanExp(struct ExponentialNoError.Exp left, struct ExponentialNoError.Exp right) internal pure returns (bool)

Checks if left Exp > right Exp.

isZeroExp​

function isZeroExp(struct ExponentialNoError.Exp value) internal pure returns (bool)

returns true if Exp is exactly zero

safe224​

function safe224(uint256 n, string errorMessage) internal pure returns (uint224)

safe32​

function safe32(uint256 n, string errorMessage) internal pure returns (uint32)

add_​

function add_(struct ExponentialNoError.Exp a, struct ExponentialNoError.Exp b) internal pure returns (struct ExponentialNoError.Exp)

add_​

function add_(struct ExponentialNoError.Double a, struct ExponentialNoError.Double b) internal pure returns (struct ExponentialNoError.Double)

add_​

function add_(uint256 a, uint256 b) internal pure returns (uint256)

add_​

function add_(uint256 a, uint256 b, string errorMessage) internal pure returns (uint256)

sub_​

function sub_(struct ExponentialNoError.Exp a, struct ExponentialNoError.Exp b) internal pure returns (struct ExponentialNoError.Exp)

sub_​

function sub_(struct ExponentialNoError.Double a, struct ExponentialNoError.Double b) internal pure returns (struct ExponentialNoError.Double)

sub_​

function sub_(uint256 a, uint256 b) internal pure returns (uint256)

sub_​

function sub_(uint256 a, uint256 b, string errorMessage) internal pure returns (uint256)

mul_​

function mul_(struct ExponentialNoError.Exp a, struct ExponentialNoError.Exp b) internal pure returns (struct ExponentialNoError.Exp)

mul_​

function mul_(struct ExponentialNoError.Exp a, uint256 b) internal pure returns (struct ExponentialNoError.Exp)

mul_​

function mul_(uint256 a, struct ExponentialNoError.Exp b) internal pure returns (uint256)

mul_​

function mul_(struct ExponentialNoError.Double a, struct ExponentialNoError.Double b) internal pure returns (struct ExponentialNoError.Double)

mul_​

function mul_(struct ExponentialNoError.Double a, uint256 b) internal pure returns (struct ExponentialNoError.Double)

mul_​

function mul_(uint256 a, struct ExponentialNoError.Double b) internal pure returns (uint256)

mul_​

function mul_(uint256 a, uint256 b) internal pure returns (uint256)

mul_​

function mul_(uint256 a, uint256 b, string errorMessage) internal pure returns (uint256)

div_​

function div_(struct ExponentialNoError.Exp a, struct ExponentialNoError.Exp b) internal pure returns (struct ExponentialNoError.Exp)

div_​

function div_(struct ExponentialNoError.Exp a, uint256 b) internal pure returns (struct ExponentialNoError.Exp)

div_​

function div_(uint256 a, struct ExponentialNoError.Exp b) internal pure returns (uint256)

div_​

function div_(struct ExponentialNoError.Double a, struct ExponentialNoError.Double b) internal pure returns (struct ExponentialNoError.Double)

div_​

function div_(struct ExponentialNoError.Double a, uint256 b) internal pure returns (struct ExponentialNoError.Double)

div_​

function div_(uint256 a, struct ExponentialNoError.Double b) internal pure returns (uint256)

div_​

function div_(uint256 a, uint256 b) internal pure returns (uint256)

div_​

function div_(uint256 a, uint256 b, string errorMessage) internal pure returns (uint256)

fraction​

function fraction(uint256 a, uint256 b) internal pure returns (struct ExponentialNoError.Double)