prb-math
prb-math copied to clipboard
Solidity library for advanced fixed-point math
Echidna can't currently be used in this repo because [solc v0.8](https://github.com/crytic/crytic-compile/issues/146) is not supported by crytic-compile. Once there is support for v0.8, we should write invariant contracts for Echidna to...
See [common-changelog.org](https://common-changelog.org/).
I recently moved the repo under my GitHub username. Checklist: - [Smart Contract Research Forum](https://www.smartcontractresearch.org/) - [StackExchange](https://ethereum.stackexchange.com/search?q=PRBMath)
The [powu](https://github.com/hifi-finance/prb-math/blob/2182c956375c8b072065e1fb0a1fbd08f4a1ccd4/src/functions.ts#L108-L112) function in the JavaScript SDK is not tested.
Hi there, I'm trying to use the `pow` function of the `PRBMathSD59x18` library but with a negative x as input. Would be interesting if that could be implemented as powering...
The tests for the "mul" functions are still assuming the old implementations (which were using double scaled products etc.).
In [351798f](https://github.com/hifi-finance/prb-math/commit/351798ff42ec1e3a9e3691b1e6442edaa13105c7), I added a new function `mulDivSigned`, which is a variant of `mulDiv` for signed numbers. It's not used anywhere in `PRBMathSD59x18` or `PRBMathUD60x18`, but it's technically part of...
Commit [62021c1](https://github.com/hifi-finance/prb-math/commit/62021c1abc3413f20d0bdc8f941cf9f21d5a7d2d) [reduced](https://coveralls.io/builds/39099777/source?filename=contracts%2FPRBMathCommon.sol) coverage from 100% to 98.456%.
Since the addition of `PRBMathUD60x18.sol` to the repo, lots of number constants have been duplicated across the SD59x18 and UD60x18 test suites.