v3.0.0
Changed
- Breaking: Refactor the libraries into free functions and user defined value types (
a69b4b) (@PaulRBerg) - Breaking: Set minimum compiler pragma to
>=0.8.13(a69b4b) (@PaulRBerg) - Breaking: Rename
SCALEtoUNIT(4d3658) (@PaulRBerg) - Always truncate instead of rounding up in multiplication functions (21fb32) (@PaulRBerg)
- Change license to MIT (@PaulRBerg)
- Check if
yis zero ingm(5b585c) (@PaulRBerg) - Optimize
avgby using the SWAR technique (#89) (@PaulRBerg) - Optimize
divandmulDivSignedby wrapping unary operations in unchecked blocks (a69b4b) (@PaulRBerg) - Optimize
exp2by batching bit checks (#77) (@k06a) - Optimize
msbby using assembly (#135) (@t4sk, @PaulRBerg) - Optimize result assignment in
powu(673802) (@PaulRBerg) - Rename
fromInttotoSD59x18andtoInttofromSD59x18(a69b4b) (@PaulRBerg) - Rename
fromUinttotoUD60x18andtoUinttofromUD60x18(a69b4b) (@PaulRBerg) - Rename
mostSignificantBittomsb(a69b4b) (@PaulRBerg) - Rename
mulDivFixedPointtomulDiv18(4c5430) (@PaulRBerg) - Rename
PRBMath.soltoCore.sol(1b82ea) (@PaulRBerg) - Rename shared
sqrtinprbSqrt(1b82ea) (@PaulRBerg) - Rename shared
exp2inprbExp2(1b82ea) (@PaulRBerg) - Revert with inputs instead of computed value custom errors (@PaulRBerg)
- Return base if exponent is one in
pow(977d43) (@PaulRBerg) - Format mathematical expressions using LaTeX (@PaulRBerg)
- Improve wording and formatting in comments, NatSpec documentation, and README (@PaulRBerg)
Added
- Add constants for E and PI (
422d87) (@PaulRBerg) - Add simple PRBTest-based typed assertions for testing in Foundry (
ddb084) (@PaulRBerg) - Add user defined value types
SD59x18andUD60x18(@PaulRBerg) - Implement conversion and helper functions for the user defined value types (@PaulRBerg)
Removed
- Breaking: Delete the
eandpifunctions (422d87) (@PaulRBerg) - Breaking: Remove JavaScript SDK and all paraphernalia (
1b82ea) (@PaulRBerg)
Fixed
- Fix incorrect hard-coded value in
sqrt(#91) (@Amxx, @nonergodic) - Fix upper boundary specified in
expNatSpec comments (#119) (@PaulRBerg)