WadRayMath
This library provides mul/div[up/down] functionality for WAD, RAY and RAD with phantom overflow protection as well as scale[up/down] functionality for WAD, RAY and RAD.
Functions
wadMulDown
Multiplies two WAD numbers and returns the result as a WAD rounding the result down.
Parameters
a
uint256
Multiplicand.
b
uint256
Multiplier.
wadMulUp
Multiplies two WAD numbers and returns the result as a WAD rounding the result up.
Parameters
a
uint256
Multiplicand.
b
uint256
Multiplier.
wadDivDown
Divides two WAD numbers and returns the result as a WAD rounding the result down.
Parameters
a
uint256
Dividend.
b
uint256
Divisor.
wadDivUp
Divides two WAD numbers and returns the result as a WAD rounding the result up.
Parameters
a
uint256
Dividend.
b
uint256
Divisor.
rayMulDown
Multiplies two RAY numbers and returns the result as a RAY rounding the result down.
Parameters
a
uint256
Multiplicand
b
uint256
Multiplier
rayMulUp
Multiplies two RAY numbers and returns the result as a RAY rounding the result up.
Parameters
a
uint256
Multiplicand
b
uint256
Multiplier
rayDivDown
Divides two RAY numbers and returns the result as a RAY rounding the result down.
Parameters
a
uint256
Dividend
b
uint256
Divisor
rayDivUp
Divides two RAY numbers and returns the result as a RAY rounding the result up.
Parameters
a
uint256
Dividend
b
uint256
Divisor
radMulDown
Multiplies two RAD numbers and returns the result as a RAD rounding the result down.
Parameters
a
uint256
Multiplicand
b
uint256
Multiplier
radMulUp
Multiplies two RAD numbers and returns the result as a RAD rounding the result up.
Parameters
a
uint256
Multiplicand
b
uint256
Multiplier
radDivDown
Divides two RAD numbers and returns the result as a RAD rounding the result down.
Parameters
a
uint256
Dividend
b
uint256
Divisor
radDivUp
Divides two RAD numbers and returns the result as a RAD rounding the result up.
Parameters
a
uint256
Dividend
b
uint256
Divisor
scaleUpToWad
Scales a value up from WAD. NOTE: The scale
value must be less than 18.
Parameters
value
uint256
to scale up.
scale
uint256
of the returned value.
scaleUpToRay
Scales a value up from RAY. NOTE: The scale
value must be less than 27.
Parameters
value
uint256
to scale up.
scale
uint256
of the returned value.
scaleUpToRad
Scales a value up from RAD. NOTE: The scale
value must be less than 45.
Parameters
value
uint256
to scale up.
scale
uint256
of the returned value.
scaleDownToWad
Scales a value down to WAD. NOTE: The scale
value must be greater than 18.
Parameters
value
uint256
to scale down.
scale
uint256
of the returned value.
scaleDownToRay
Scales a value down to RAY. NOTE: The scale
value must be greater than 27.
Parameters
value
uint256
to scale down.
scale
uint256
of the returned value.
scaleDownToRad
Scales a value down to RAD. NOTE: The scale
value must be greater than 45.
Parameters
value
uint256
to scale down.
scale
uint256
of the returned value.
scaleUp
Scales a value up from one fixed-point precision to another.
Parameters
value
uint256
to scale up.
from
uint256
Precision to scale from.
to
uint256
Precision to scale to.
scaleDown
Scales a value down from one fixed-point precision to another.
Parameters
value
uint256
to scale down.
from
uint256
Precision to scale from.
to
uint256
Precision to scale to.