From 8c218be10b1450b84945de9b52d6b0e49e4973a5 Mon Sep 17 00:00:00 2001 From: thedavidmeister Date: Tue, 2 Sep 2025 16:31:44 +0400 Subject: [PATCH 1/6] pow e 1 test --- test/src/lib/LibDecimalFloat.pow.t.sol | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/test/src/lib/LibDecimalFloat.pow.t.sol b/test/src/lib/LibDecimalFloat.pow.t.sol index eb3bd3fc..e174450d 100644 --- a/test/src/lib/LibDecimalFloat.pow.t.sol +++ b/test/src/lib/LibDecimalFloat.pow.t.sol @@ -50,6 +50,11 @@ contract LibDecimalFloatPowTest is LogTest { // 8.853071703048649170130397094169464632911643045383977634639832230468640539353e75 e60910 checkPow(99999, 0, 12182, 0, 1000, 60907); checkPow(1785215562, 0, 18, 0, 3388, 163); + + { + (int256 signedCoefficientE, int256 exponentE) = LibDecimalFloat.FLOAT_E.unpack(); + checkPow(signedCoefficientE, exponentE, 1, 0, signedCoefficientE, exponentE); + } } /// a^b is error for negative a and all b. From dafe1c5761790361baf6653c2a035db8c47fef7e Mon Sep 17 00:00:00 2001 From: thedavidmeister Date: Tue, 2 Sep 2025 17:22:59 +0400 Subject: [PATCH 2/6] test for pow 1 --- src/lib/LibDecimalFloat.sol | 4 ++++ test/src/lib/LibDecimalFloat.pow.t.sol | 15 +++++++++++++++ .../LibDecimalFloatImplementation.log10.t.sol | 11 +++++++++++ .../LibDecimalFloatImplementation.pow10.t.sol | 13 +++++++++++++ 4 files changed, 43 insertions(+) diff --git a/src/lib/LibDecimalFloat.sol b/src/lib/LibDecimalFloat.sol index aef82101..de325f06 100644 --- a/src/lib/LibDecimalFloat.sol +++ b/src/lib/LibDecimalFloat.sol @@ -24,6 +24,8 @@ import { EXPONENT_MIN } from "./implementation/LibDecimalFloatImplementation.sol"; +import {console2} from "forge-std/console2.sol"; + type Float is bytes32; /// @title LibDecimalFloat @@ -666,6 +668,8 @@ library LibDecimalFloat { // If a is zero, then a^b is always zero, regardless of b. // This is a special case because log10(0) is undefined. return FLOAT_ZERO; + } else if (b.eq(FLOAT_ONE)) { + return a; } (int256 signedCoefficientC, int256 exponentC) = diff --git a/test/src/lib/LibDecimalFloat.pow.t.sol b/test/src/lib/LibDecimalFloat.pow.t.sol index e174450d..8a73a7ac 100644 --- a/test/src/lib/LibDecimalFloat.pow.t.sol +++ b/test/src/lib/LibDecimalFloat.pow.t.sol @@ -100,6 +100,21 @@ contract LibDecimalFloatPowTest is LogTest { this.powExternal(LibDecimalFloat.FLOAT_ZERO, b); } + /// a^1 = a for all a >= 0 (negative bases revert per current semantics). + function testPowBOne(Float a) external { + vm.assume(!a.isZero()); + a = a.abs(); + (int256 signedCoefficientA, int256 exponentA) = a.unpack(); + unchecked { + int256 exponent = 0; + for (int256 i = 1; exponent >= -76;) { + checkPow(signedCoefficientA, exponentA, 1, 0, signedCoefficientA, exponentA); + exponent--; + i *= 10; + } + } + } + function checkRoundTrip(int256 signedCoefficientA, int256 exponentA, int256 signedCoefficientB, int256 exponentB) internal { diff --git a/test/src/lib/implementation/LibDecimalFloatImplementation.log10.t.sol b/test/src/lib/implementation/LibDecimalFloatImplementation.log10.t.sol index 0006efc1..0dff7edf 100644 --- a/test/src/lib/implementation/LibDecimalFloatImplementation.log10.t.sol +++ b/test/src/lib/implementation/LibDecimalFloatImplementation.log10.t.sol @@ -58,4 +58,15 @@ contract LibDecimalFloatImplementationLog10Test is LogTest { checkLog10(0.5e1, -1, -0.301e76, -76); } + + function testLog10One() external { + unchecked { + int256 exponent = 0; + for (int256 i = 1; exponent >= -76;) { + checkLog10(i, exponent, 0, 0); + exponent--; + i *= 10; + } + } + } } diff --git a/test/src/lib/implementation/LibDecimalFloatImplementation.pow10.t.sol b/test/src/lib/implementation/LibDecimalFloatImplementation.pow10.t.sol index 2739c529..17b61619 100644 --- a/test/src/lib/implementation/LibDecimalFloatImplementation.pow10.t.sol +++ b/test/src/lib/implementation/LibDecimalFloatImplementation.pow10.t.sol @@ -7,6 +7,8 @@ import {LogTest} from "../../../abstract/LogTest.sol"; import {LibDecimalFloatImplementation} from "src/lib/implementation/LibDecimalFloatImplementation.sol"; import {LibDecimalFloat, Float} from "src/lib/LibDecimalFloat.sol"; +import {console2} from "forge-std/Test.sol"; + contract LibDecimalFloatImplementationPow10Test is LogTest { using LibDecimalFloat for Float; @@ -90,4 +92,15 @@ contract LibDecimalFloatImplementationPow10Test is LogTest { (x, exponent) = boundFloat(x, exponent); LibDecimalFloatImplementation.pow10(logTables(), x, exponent); } + + function testPow10One() external { + unchecked { + int256 exponent = 0; + for (int256 i = 1; exponent >= -76;) { + checkPow10(i, exponent, 1000, -2); + exponent--; + i *= 10; + } + } + } } From e2d053f66beb25d60b0686e3b529e2cccfe8ad9b Mon Sep 17 00:00:00 2001 From: thedavidmeister Date: Tue, 2 Sep 2025 17:27:44 +0400 Subject: [PATCH 3/6] lint --- src/lib/LibDecimalFloat.sol | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/lib/LibDecimalFloat.sol b/src/lib/LibDecimalFloat.sol index de325f06..0f2e2713 100644 --- a/src/lib/LibDecimalFloat.sol +++ b/src/lib/LibDecimalFloat.sol @@ -24,8 +24,6 @@ import { EXPONENT_MIN } from "./implementation/LibDecimalFloatImplementation.sol"; -import {console2} from "forge-std/console2.sol"; - type Float is bytes32; /// @title LibDecimalFloat From 738a1ea96cc416e51ba5f24bcca46af6e2e79db1 Mon Sep 17 00:00:00 2001 From: thedavidmeister Date: Tue, 2 Sep 2025 18:16:11 +0400 Subject: [PATCH 4/6] fix tests --- src/lib/LibDecimalFloat.sol | 4 +++- test/src/lib/LibDecimalFloat.pow.t.sol | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/lib/LibDecimalFloat.sol b/src/lib/LibDecimalFloat.sol index 0f2e2713..09dd2f31 100644 --- a/src/lib/LibDecimalFloat.sol +++ b/src/lib/LibDecimalFloat.sol @@ -666,7 +666,9 @@ library LibDecimalFloat { // If a is zero, then a^b is always zero, regardless of b. // This is a special case because log10(0) is undefined. return FLOAT_ZERO; - } else if (b.eq(FLOAT_ONE)) { + } + // Handle identity case for positive values of a, i.e. a^1. + else if (b.eq(FLOAT_ONE) && a.gt(FLOAT_ZERO)) { return a; } diff --git a/test/src/lib/LibDecimalFloat.pow.t.sol b/test/src/lib/LibDecimalFloat.pow.t.sol index 8a73a7ac..c0b2f5d2 100644 --- a/test/src/lib/LibDecimalFloat.pow.t.sol +++ b/test/src/lib/LibDecimalFloat.pow.t.sol @@ -107,8 +107,8 @@ contract LibDecimalFloatPowTest is LogTest { (int256 signedCoefficientA, int256 exponentA) = a.unpack(); unchecked { int256 exponent = 0; - for (int256 i = 1; exponent >= -76;) { - checkPow(signedCoefficientA, exponentA, 1, 0, signedCoefficientA, exponentA); + for (int256 i = 1; exponent >= -67;) { + checkPow(signedCoefficientA, exponentA, i, exponent, signedCoefficientA, exponentA); exponent--; i *= 10; } From 1123b7042e703e9413207b8d4c9b7eab364dbd2c Mon Sep 17 00:00:00 2001 From: thedavidmeister Date: Tue, 2 Sep 2025 23:51:00 +0400 Subject: [PATCH 5/6] fix test --- test/src/lib/LibDecimalFloat.pow.t.sol | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/src/lib/LibDecimalFloat.pow.t.sol b/test/src/lib/LibDecimalFloat.pow.t.sol index c0b2f5d2..bfebdfe6 100644 --- a/test/src/lib/LibDecimalFloat.pow.t.sol +++ b/test/src/lib/LibDecimalFloat.pow.t.sol @@ -13,7 +13,7 @@ contract LibDecimalFloatPowTest is LogTest { using LibDecimalFloat for Float; function diffLimit() internal pure returns (Float) { - return LibDecimalFloat.packLossless(94, -3); + return LibDecimalFloat.packLossless(96, -3); } function checkPow( @@ -153,7 +153,7 @@ contract LibDecimalFloatPowTest is LogTest { // If b is zero we'll divide by zero on the inv. // If c is 1 then it's not round trippable because 1^x = 1 for all x. // C will be 1 when a is 1 or b is 0 (or very close to either). - if (b.isZero() || c.eq(LibDecimalFloat.packLossless(1, 0))) {} else { + if (b.isZero() || c.eq(LibDecimalFloat.FLOAT_ONE)) {} else { Float inv = b.inv(); try this.powExternal(c, inv) returns (Float roundTrip) { if (roundTrip.isZero()) {} else { From 2192f80d3f813c44f08dd89c9c065c06fd8eda53 Mon Sep 17 00:00:00 2001 From: thedavidmeister Date: Tue, 2 Sep 2025 23:53:23 +0400 Subject: [PATCH 6/6] snapshot --- .gas-snapshot | 399 +++++++++++++++++++++++++------------------------- 1 file changed, 201 insertions(+), 198 deletions(-) diff --git a/.gas-snapshot b/.gas-snapshot index 8621da76..95a6e2bd 100644 --- a/.gas-snapshot +++ b/.gas-snapshot @@ -1,191 +1,192 @@ -DecimalFloatAbsTest:testAbsDeployed(bytes32) (runs: 5098, μ: 3058233, ~: 3058176) -DecimalFloatAddTest:testAddDeployed(bytes32,bytes32) (runs: 5098, μ: 3062294, ~: 3062372) -DecimalFloatCeilTest:testCeilDeployed(bytes32) (runs: 5098, μ: 3058259, ~: 3057889) -DecimalFloatConstantsTest:testEDeployed() (gas: 3057419) -DecimalFloatConstantsTest:testMaxNegativeValueDeployed() (gas: 3057408) -DecimalFloatConstantsTest:testMaxPositiveValueDeployed() (gas: 3057409) -DecimalFloatConstantsTest:testMinNegativeValueDeployed() (gas: 3057384) -DecimalFloatConstantsTest:testMinPositiveValueDeployed() (gas: 3057385) -DecimalFloatConstantsTest:testZeroDeployed() (gas: 3057452) -DecimalFloatDivTest:testDivDeployed(bytes32,bytes32) (runs: 5098, μ: 3064244, ~: 3064316) -DecimalFloatEqTest:testEqDeployed(bytes32,bytes32) (runs: 5098, μ: 3058618, ~: 3058544) -DecimalFloatFloorTest:testFloorDeployed(bytes32) (runs: 5098, μ: 3058072, ~: 3057887) -DecimalFloatFormatTest:testFormatDeployed(bytes32,uint256) (runs: 5098, μ: 3083592, ~: 3090149) -DecimalFloatFracTest:testFracDeployed(bytes32) (runs: 5098, μ: 3058464, ~: 3058447) -DecimalFloatFromFixedDecimalLosslessTest:testFromFixedDecimalLosslessDeployed(uint256,uint8) (runs: 5098, μ: 3059017, ~: 3058951) -DecimalFloatFromFixedDecimalLossyTest:testFromFixedDecimalLossyDeployed(uint256,uint8) (runs: 5098, μ: 3059504, ~: 3059421) -DecimalFloatGtTest:testGtDeployed(bytes32,bytes32) (runs: 5098, μ: 3058560, ~: 3058486) -DecimalFloatGteTest:testGteDeployed(bytes32,bytes32) (runs: 5098, μ: 3058546, ~: 3058472) -DecimalFloatInvTest:testInvDeployed(bytes32) (runs: 5098, μ: 3063094, ~: 3063131) -DecimalFloatIsZeroTest:testIsZeroDeployed(bytes32) (runs: 5098, μ: 3057729, ~: 3057729) -DecimalFloatLtTest:testLtDeployed(bytes32,bytes32) (runs: 5098, μ: 3058537, ~: 3058463) -DecimalFloatLteTest:testLteDeployed(bytes32,bytes32) (runs: 5098, μ: 3058590, ~: 3058516) -DecimalFloatMaxTest:testMaxDeployed(bytes32,bytes32) (runs: 5098, μ: 3058599, ~: 3058538) -DecimalFloatMinTest:testMinDeployed(bytes32,bytes32) (runs: 5098, μ: 3058596, ~: 3058536) -DecimalFloatMinusTest:testMinusDeployed(bytes32) (runs: 5098, μ: 3058334, ~: 3058334) -DecimalFloatMulTest:testMulDeployed(bytes32,bytes32) (runs: 5098, μ: 3062191, ~: 3063003) -DecimalFloatPackLosslessTest:testPackDeployed(int224,int32) (runs: 5098, μ: 158769, ~: 158769) -DecimalFloatParseTest:testParseDeployed(string) (runs: 5098, μ: 3060967, ~: 3060836) -DecimalFloatPowTest:testPowDeployed(bytes32,bytes32) (runs: 5098, μ: 3070355, ~: 3069178) -DecimalFloatSqrtTest:testSqrtDeployed(bytes32) (runs: 5098, μ: 3070062, ~: 3069880) -DecimalFloatSubTest:testSubDeployed(bytes32,bytes32) (runs: 5098, μ: 3062590, ~: 3062628) -DecimalFloatToFixedDecimalLosslessTest:testToFixedDecimalLosslessDeployed(bytes32,uint8) (runs: 5098, μ: 3059704, ~: 3059579) -DecimalFloatToFixedDecimalLossyTest:testToFixedDecimalLossyDeployed(bytes32,uint8) (runs: 5098, μ: 3059795, ~: 3060063) -LibDecimalFloatAbsTest:testAbsMinValue(int32) (runs: 5098, μ: 5121, ~: 5121) -LibDecimalFloatAbsTest:testAbsNegative(int256,int32) (runs: 5098, μ: 10475, ~: 10702) -LibDecimalFloatAbsTest:testAbsNonNegative(int256,int32) (runs: 5098, μ: 9641, ~: 9392) +DecimalFloatAbsTest:testAbsDeployed(bytes32) (runs: 5103, μ: 3067064, ~: 3067007) +DecimalFloatAddTest:testAddDeployed(bytes32,bytes32) (runs: 5103, μ: 3071112, ~: 3071203) +DecimalFloatCeilTest:testCeilDeployed(bytes32) (runs: 5103, μ: 3067092, ~: 3066720) +DecimalFloatConstantsTest:testEDeployed() (gas: 3066250) +DecimalFloatConstantsTest:testMaxNegativeValueDeployed() (gas: 3066239) +DecimalFloatConstantsTest:testMaxPositiveValueDeployed() (gas: 3066240) +DecimalFloatConstantsTest:testMinNegativeValueDeployed() (gas: 3066215) +DecimalFloatConstantsTest:testMinPositiveValueDeployed() (gas: 3066216) +DecimalFloatConstantsTest:testZeroDeployed() (gas: 3066283) +DecimalFloatDivTest:testDivDeployed(bytes32,bytes32) (runs: 5103, μ: 3073076, ~: 3073147) +DecimalFloatEqTest:testEqDeployed(bytes32,bytes32) (runs: 5103, μ: 3067449, ~: 3067375) +DecimalFloatFloorTest:testFloorDeployed(bytes32) (runs: 5103, μ: 3066903, ~: 3066718) +DecimalFloatFormatTest:testFormatDeployed(bytes32,uint256) (runs: 5103, μ: 3092428, ~: 3098980) +DecimalFloatFracTest:testFracDeployed(bytes32) (runs: 5103, μ: 3067294, ~: 3067278) +DecimalFloatFromFixedDecimalLosslessTest:testFromFixedDecimalLosslessDeployed(uint256,uint8) (runs: 5103, μ: 3067849, ~: 3067782) +DecimalFloatFromFixedDecimalLossyTest:testFromFixedDecimalLossyDeployed(uint256,uint8) (runs: 5103, μ: 3068335, ~: 3068252) +DecimalFloatGtTest:testGtDeployed(bytes32,bytes32) (runs: 5103, μ: 3067391, ~: 3067317) +DecimalFloatGteTest:testGteDeployed(bytes32,bytes32) (runs: 5103, μ: 3067376, ~: 3067303) +DecimalFloatInvTest:testInvDeployed(bytes32) (runs: 5103, μ: 3071923, ~: 3071962) +DecimalFloatIsZeroTest:testIsZeroDeployed(bytes32) (runs: 5103, μ: 3066560, ~: 3066560) +DecimalFloatLtTest:testLtDeployed(bytes32,bytes32) (runs: 5103, μ: 3067367, ~: 3067294) +DecimalFloatLteTest:testLteDeployed(bytes32,bytes32) (runs: 5103, μ: 3067421, ~: 3067347) +DecimalFloatMaxTest:testMaxDeployed(bytes32,bytes32) (runs: 5103, μ: 3067430, ~: 3067369) +DecimalFloatMinTest:testMinDeployed(bytes32,bytes32) (runs: 5103, μ: 3067429, ~: 3067367) +DecimalFloatMinusTest:testMinusDeployed(bytes32) (runs: 5103, μ: 3067165, ~: 3067165) +DecimalFloatMulTest:testMulDeployed(bytes32,bytes32) (runs: 5103, μ: 3071023, ~: 3071834) +DecimalFloatPackLosslessTest:testPackDeployed(int224,int32) (runs: 5103, μ: 158769, ~: 158769) +DecimalFloatParseTest:testParseDeployed(string) (runs: 5103, μ: 3069798, ~: 3069667) +DecimalFloatPowTest:testPowDeployed(bytes32,bytes32) (runs: 5103, μ: 3080042, ~: 3078775) +DecimalFloatSqrtTest:testSqrtDeployed(bytes32) (runs: 5103, μ: 3080178, ~: 3079993) +DecimalFloatSubTest:testSubDeployed(bytes32,bytes32) (runs: 5103, μ: 3071429, ~: 3071459) +DecimalFloatToFixedDecimalLosslessTest:testToFixedDecimalLosslessDeployed(bytes32,uint8) (runs: 5103, μ: 3068528, ~: 3068410) +DecimalFloatToFixedDecimalLossyTest:testToFixedDecimalLossyDeployed(bytes32,uint8) (runs: 5103, μ: 3068619, ~: 3068894) +LibDecimalFloatAbsTest:testAbsMinValue(int32) (runs: 5102, μ: 5121, ~: 5121) +LibDecimalFloatAbsTest:testAbsNegative(int256,int32) (runs: 5103, μ: 10475, ~: 10702) +LibDecimalFloatAbsTest:testAbsNonNegative(int256,int32) (runs: 5103, μ: 9641, ~: 9392) LibDecimalFloatCeilTest:testCeilExamples() (gas: 30794) -LibDecimalFloatCeilTest:testCeilInRange(int224,int256) (runs: 5098, μ: 11040, ~: 10713) -LibDecimalFloatCeilTest:testCeilLessThanMin(int224,int256) (runs: 5098, μ: 10059, ~: 9820) -LibDecimalFloatCeilTest:testCeilNonNegative(int224,int256) (runs: 5098, μ: 8961, ~: 9212) -LibDecimalFloatCeilTest:testCeilNotReverts(bytes32) (runs: 5098, μ: 598, ~: 411) -LibDecimalFloatCeilTest:testCeilZero(int32) (runs: 5098, μ: 5438, ~: 5438) +LibDecimalFloatCeilTest:testCeilInRange(int224,int256) (runs: 5103, μ: 11040, ~: 10713) +LibDecimalFloatCeilTest:testCeilLessThanMin(int224,int256) (runs: 5103, μ: 10059, ~: 9820) +LibDecimalFloatCeilTest:testCeilNonNegative(int224,int256) (runs: 5103, μ: 8961, ~: 9212) +LibDecimalFloatCeilTest:testCeilNotReverts(bytes32) (runs: 5103, μ: 598, ~: 411) +LibDecimalFloatCeilTest:testCeilZero(int32) (runs: 5103, μ: 5438, ~: 5438) LibDecimalFloatConstantsTest:testFloatE() (gas: 3357) LibDecimalFloatConstantsTest:testFloatHalf() (gas: 3336) LibDecimalFloatConstantsTest:testFloatMaxNegativeValue() (gas: 3379) -LibDecimalFloatConstantsTest:testFloatMaxNegativeValueIsMax(bytes32) (runs: 5098, μ: 4488, ~: 4594) +LibDecimalFloatConstantsTest:testFloatMaxNegativeValueIsMax(bytes32) (runs: 5103, μ: 4488, ~: 4594) LibDecimalFloatConstantsTest:testFloatMaxPositiveValue() (gas: 3335) -LibDecimalFloatConstantsTest:testFloatMaxPositiveValueIsMax(bytes32) (runs: 5098, μ: 3545, ~: 3586) +LibDecimalFloatConstantsTest:testFloatMaxPositiveValueIsMax(bytes32) (runs: 5103, μ: 3545, ~: 3586) LibDecimalFloatConstantsTest:testFloatMinNegativeValue() (gas: 3335) -LibDecimalFloatConstantsTest:testFloatMinNegativeValueIsMin(bytes32) (runs: 5098, μ: 3496, ~: 3457) +LibDecimalFloatConstantsTest:testFloatMinNegativeValueIsMin(bytes32) (runs: 5103, μ: 3496, ~: 3457) LibDecimalFloatConstantsTest:testFloatMinPositiveValue() (gas: 3357) -LibDecimalFloatConstantsTest:testFloatMinPositiveValueIsMin(bytes32) (runs: 5098, μ: 4938, ~: 4870) +LibDecimalFloatConstantsTest:testFloatMinPositiveValueIsMin(bytes32) (runs: 5103, μ: 4938, ~: 4870) LibDecimalFloatConstantsTest:testFloatOne() (gas: 3358) LibDecimalFloatConstantsTest:testFloatTwo() (gas: 3380) LibDecimalFloatConstantsTest:testFloatZero() (gas: 3337) -LibDecimalFloatDecimalAddTest:testAddPacked(bytes32,bytes32) (runs: 5098, μ: 9762, ~: 9832) -LibDecimalFloatDecimalLosslessTest:testFromFixedDecimalLosslessFail(uint256,uint8) (runs: 5098, μ: 9615, ~: 9663) -LibDecimalFloatDecimalLosslessTest:testFromFixedDecimalLosslessMem(uint256,uint8) (runs: 5098, μ: 8130, ~: 8048) -LibDecimalFloatDecimalLosslessTest:testFromFixedDecimalLosslessPass(uint256,uint8) (runs: 5098, μ: 7452, ~: 7424) +LibDecimalFloatDecimalAddTest:testAddPacked(bytes32,bytes32) (runs: 5103, μ: 9762, ~: 9832) +LibDecimalFloatDecimalLosslessTest:testFromFixedDecimalLosslessFail(uint256,uint8) (runs: 5102, μ: 9615, ~: 9663) +LibDecimalFloatDecimalLosslessTest:testFromFixedDecimalLosslessMem(uint256,uint8) (runs: 5103, μ: 8130, ~: 8048) +LibDecimalFloatDecimalLosslessTest:testFromFixedDecimalLosslessPass(uint256,uint8) (runs: 5103, μ: 7452, ~: 7424) LibDecimalFloatDecimalLosslessTest:testToFixedDecimalLosslessFail() (gas: 4894) -LibDecimalFloatDecimalLosslessTest:testToFixedDecimalLosslessPacked(bytes32,uint8) (runs: 5098, μ: 6718, ~: 6161) -LibDecimalFloatDecimalLosslessTest:testToFixedDecimalLosslessPass(int256,int256,uint8) (runs: 5098, μ: 15805, ~: 15768) -LibDecimalFloatDecimalTest:testFixedDecimalRoundTripLossless(uint256,uint8) (runs: 5098, μ: 9110, ~: 9031) +LibDecimalFloatDecimalLosslessTest:testToFixedDecimalLosslessPacked(bytes32,uint8) (runs: 5103, μ: 6718, ~: 6161) +LibDecimalFloatDecimalLosslessTest:testToFixedDecimalLosslessPass(int256,int256,uint8) (runs: 5103, μ: 15805, ~: 15768) +LibDecimalFloatDecimalTest:testFixedDecimalRoundTripLossless(uint256,uint8) (runs: 5103, μ: 9110, ~: 9031) LibDecimalFloatDecimalTest:testFromFixedDecimalLossyComplicated() (gas: 685958) LibDecimalFloatDecimalTest:testFromFixedDecimalLossyMax() (gas: 673463) LibDecimalFloatDecimalTest:testFromFixedDecimalLossyOne() (gas: 686002) LibDecimalFloatDecimalTest:testFromFixedDecimalLossyOneMillion() (gas: 685937) LibDecimalFloatDecimalTest:testFromFixedDecimalLossyOverflow() (gas: 715261) -LibDecimalFloatDecimalTest:testFromFixedDecimalLossyPacked(uint256,uint8) (runs: 5098, μ: 9481, ~: 9396) -LibDecimalFloatDecimalTest:testFromFixedDecimalLossyTruncateOne(uint256,uint8) (runs: 5098, μ: 5978, ~: 5937) -LibDecimalFloatDecimalTest:testFromFixedDecimalLossyTruncateZero(uint256,uint8) (runs: 5098, μ: 6061, ~: 5860) -LibDecimalFloatDecimalTest:testToFixedDecimalLosslessScaleUp(int256,int256,uint8) (runs: 5097, μ: 15987, ~: 15862) -LibDecimalFloatDecimalTest:testToFixedDecimalLossyExponentOverflow(int256,int256,uint8) (runs: 5098, μ: 14963, ~: 14729) -LibDecimalFloatDecimalTest:testToFixedDecimalLossyIdentity(int256,uint8) (runs: 5098, μ: 10153, ~: 9811) -LibDecimalFloatDecimalTest:testToFixedDecimalLossyNegative(int256,int256,uint8) (runs: 5098, μ: 10825, ~: 11076) -LibDecimalFloatDecimalTest:testToFixedDecimalLossyPacked(bytes32,uint8) (runs: 5098, μ: 6803, ~: 6905) -LibDecimalFloatDecimalTest:testToFixedDecimalLossyScaleUpOverflow(int256,int256,uint8) (runs: 5097, μ: 15348, ~: 15612) -LibDecimalFloatDecimalTest:testToFixedDecimalLossyTruncate(int256,int256,uint8) (runs: 5098, μ: 14492, ~: 14212) +LibDecimalFloatDecimalTest:testFromFixedDecimalLossyPacked(uint256,uint8) (runs: 5103, μ: 9481, ~: 9396) +LibDecimalFloatDecimalTest:testFromFixedDecimalLossyTruncateOne(uint256,uint8) (runs: 5103, μ: 5978, ~: 5937) +LibDecimalFloatDecimalTest:testFromFixedDecimalLossyTruncateZero(uint256,uint8) (runs: 5103, μ: 6062, ~: 5860) +LibDecimalFloatDecimalTest:testToFixedDecimalLosslessScaleUp(int256,int256,uint8) (runs: 5100, μ: 15987, ~: 15862) +LibDecimalFloatDecimalTest:testToFixedDecimalLossyExponentOverflow(int256,int256,uint8) (runs: 5103, μ: 14963, ~: 14729) +LibDecimalFloatDecimalTest:testToFixedDecimalLossyIdentity(int256,uint8) (runs: 5103, μ: 10153, ~: 9811) +LibDecimalFloatDecimalTest:testToFixedDecimalLossyNegative(int256,int256,uint8) (runs: 5103, μ: 10826, ~: 11076) +LibDecimalFloatDecimalTest:testToFixedDecimalLossyPacked(bytes32,uint8) (runs: 5103, μ: 6804, ~: 6905) +LibDecimalFloatDecimalTest:testToFixedDecimalLossyScaleUpOverflow(int256,int256,uint8) (runs: 5099, μ: 15348, ~: 15612) +LibDecimalFloatDecimalTest:testToFixedDecimalLossyTruncate(int256,int256,uint8) (runs: 5103, μ: 14492, ~: 14212) LibDecimalFloatDecimalTest:testToFixedDecimalLossyTruncateLossless() (gas: 14500) -LibDecimalFloatDecimalTest:testToFixedDecimalLossyUnderflow(int256,int256,uint8) (runs: 5098, μ: 13738, ~: 13602) -LibDecimalFloatDecimalTest:testToFixedDecimalLossyZero(int256,uint8) (runs: 5098, μ: 4575, ~: 4575) -LibDecimalFloatDivTest:testDivByNegativeOneFloat(int224,int32) (runs: 5098, μ: 327533, ~: 326998) -LibDecimalFloatDivTest:testDivByOneFloat(int224,int32) (runs: 5098, μ: 303113, ~: 302160) -LibDecimalFloatDivTest:testDivPacked(bytes32,bytes32) (runs: 5098, μ: 11577, ~: 11667) -LibDecimalFloatEqTest:testEqPacked(bytes32,bytes32) (runs: 5098, μ: 5524, ~: 5450) -LibDecimalFloatEqTest:testEqXNotYExponents(bytes32,bytes32) (runs: 5098, μ: 4341, ~: 4234) -LibDecimalFloatEqTest:testEqZero(int32) (runs: 5098, μ: 5133, ~: 5133) +LibDecimalFloatDecimalTest:testToFixedDecimalLossyUnderflow(int256,int256,uint8) (runs: 5103, μ: 13738, ~: 13602) +LibDecimalFloatDecimalTest:testToFixedDecimalLossyZero(int256,uint8) (runs: 5103, μ: 4575, ~: 4575) +LibDecimalFloatDivTest:testDivByNegativeOneFloat(int224,int32) (runs: 5103, μ: 327527, ~: 326998) +LibDecimalFloatDivTest:testDivByOneFloat(int224,int32) (runs: 5103, μ: 303107, ~: 302160) +LibDecimalFloatDivTest:testDivPacked(bytes32,bytes32) (runs: 5103, μ: 11577, ~: 11667) +LibDecimalFloatEqTest:testEqPacked(bytes32,bytes32) (runs: 5103, μ: 5524, ~: 5450) +LibDecimalFloatEqTest:testEqXNotYExponents(bytes32,bytes32) (runs: 5103, μ: 4341, ~: 4234) +LibDecimalFloatEqTest:testEqZero(int32) (runs: 5103, μ: 5133, ~: 5133) LibDecimalFloatFloorTest:testFloorExamples() (gas: 38387) LibDecimalFloatFloorTest:testFloorGas0() (gas: 960) LibDecimalFloatFloorTest:testFloorGasTiny() (gas: 881) LibDecimalFloatFloorTest:testFloorGasZero() (gas: 553) -LibDecimalFloatFloorTest:testFloorInRange(int224,int256) (runs: 5098, μ: 11032, ~: 11044) -LibDecimalFloatFloorTest:testFloorLessThanMin(int224,int256) (runs: 5098, μ: 10284, ~: 10293) -LibDecimalFloatFloorTest:testFloorNonNegative(int224,int256) (runs: 5098, μ: 9547, ~: 9806) -LibDecimalFloatFloorTest:testFloorNotReverts(bytes32) (runs: 5098, μ: 461, ~: 365) +LibDecimalFloatFloorTest:testFloorInRange(int224,int256) (runs: 5103, μ: 11032, ~: 11044) +LibDecimalFloatFloorTest:testFloorLessThanMin(int224,int256) (runs: 5103, μ: 10284, ~: 10293) +LibDecimalFloatFloorTest:testFloorNonNegative(int224,int256) (runs: 5103, μ: 9546, ~: 9806) +LibDecimalFloatFloorTest:testFloorNotReverts(bytes32) (runs: 5103, μ: 461, ~: 365) LibDecimalFloatFracTest:testFracExamples() (gas: 39135) LibDecimalFloatFracTest:testFracGas0() (gas: 960) LibDecimalFloatFracTest:testFracGasTiny() (gas: 836) LibDecimalFloatFracTest:testFracGasZero() (gas: 820) -LibDecimalFloatFracTest:testFracInRange(int224,int256) (runs: 5098, μ: 10847, ~: 10859) -LibDecimalFloatFracTest:testFracLessThanMin(int224,int256) (runs: 5098, μ: 10273, ~: 10280) -LibDecimalFloatFracTest:testFracNonNegative(int224,int256) (runs: 5098, μ: 9806, ~: 10066) -LibDecimalFloatFracTest:testFracNotReverts(bytes32) (runs: 5098, μ: 630, ~: 621) +LibDecimalFloatFracTest:testFracInRange(int224,int256) (runs: 5103, μ: 10847, ~: 10859) +LibDecimalFloatFracTest:testFracLessThanMin(int224,int256) (runs: 5103, μ: 10273, ~: 10280) +LibDecimalFloatFracTest:testFracNonNegative(int224,int256) (runs: 5103, μ: 9805, ~: 10066) +LibDecimalFloatFracTest:testFracNotReverts(bytes32) (runs: 5103, μ: 630, ~: 621) LibDecimalFloatGtTest:testGtGasAZero() (gas: 973) LibDecimalFloatGtTest:testGtGasBZero() (gas: 973) LibDecimalFloatGtTest:testGtGasBothZero() (gas: 751) LibDecimalFloatGtTest:testGtGasDifferentSigns() (gas: 974) LibDecimalFloatGtTest:testGtGasExponentDiffOverflow() (gas: 1143) -LibDecimalFloatGtTest:testGtOneEAny(bytes32) (runs: 5098, μ: 3494, ~: 3494) -LibDecimalFloatGtTest:testGtReference(int224,int32,int224,int32) (runs: 5098, μ: 8067, ~: 6285) -LibDecimalFloatGtTest:testGtX(int224,int32) (runs: 5098, μ: 3882, ~: 3882) -LibDecimalFloatGtTest:testGtXEAnyVsXEAny(int256,int32,int32) (runs: 5098, μ: 10593, ~: 10332) -LibDecimalFloatGtTest:testGtXEAnyVsXEAnyNegative(int256,int32,int32) (runs: 5098, μ: 11144, ~: 11349) -LibDecimalFloatGtTest:testGtXNotY(bytes32,bytes32) (runs: 5098, μ: 4341, ~: 4232) -LibDecimalFloatGtTest:testGtXPositiveYNegative(int256,int32,int256,int32) (runs: 5098, μ: 13764, ~: 13595) -LibDecimalFloatGtTest:testGtXPositiveYZero(int256,int32,int32) (runs: 5098, μ: 10274, ~: 10026) -LibDecimalFloatGtTest:testGtZero(int32,int32) (runs: 5098, μ: 4793, ~: 4793) +LibDecimalFloatGtTest:testGtOneEAny(bytes32) (runs: 5103, μ: 3494, ~: 3494) +LibDecimalFloatGtTest:testGtReference(int224,int32,int224,int32) (runs: 5103, μ: 8067, ~: 6272) +LibDecimalFloatGtTest:testGtX(int224,int32) (runs: 5103, μ: 3882, ~: 3882) +LibDecimalFloatGtTest:testGtXEAnyVsXEAny(int256,int32,int32) (runs: 5103, μ: 10592, ~: 10332) +LibDecimalFloatGtTest:testGtXEAnyVsXEAnyNegative(int256,int32,int32) (runs: 5103, μ: 11144, ~: 11349) +LibDecimalFloatGtTest:testGtXNotY(bytes32,bytes32) (runs: 5103, μ: 4341, ~: 4232) +LibDecimalFloatGtTest:testGtXPositiveYNegative(int256,int32,int256,int32) (runs: 5103, μ: 13764, ~: 13595) +LibDecimalFloatGtTest:testGtXPositiveYZero(int256,int32,int32) (runs: 5103, μ: 10273, ~: 10026) +LibDecimalFloatGtTest:testGtZero(int32,int32) (runs: 5103, μ: 4793, ~: 4793) LibDecimalFloatGteTest:testGteGasAZero() (gas: 976) LibDecimalFloatGteTest:testGteGasBZero() (gas: 1020) LibDecimalFloatGteTest:testGteGasBothZero() (gas: 753) LibDecimalFloatGteTest:testGteGasDifferentSigns() (gas: 996) LibDecimalFloatGteTest:testGteGasExponentDiffOverflow() (gas: 1102) -LibDecimalFloatGteTest:testGteOneEAny(bytes32) (runs: 5098, μ: 3494, ~: 3494) -LibDecimalFloatGteTest:testGteReference(int224,int32,int224,int32) (runs: 5098, μ: 8117, ~: 6344) -LibDecimalFloatGteTest:testGteX(int224,int32) (runs: 5098, μ: 3925, ~: 3925) -LibDecimalFloatGteTest:testGteXEAnyVsXEAny(int256,int32,int32) (runs: 5098, μ: 10622, ~: 10364) -LibDecimalFloatGteTest:testGteXEAnyVsXEAnyNegative(int256,int32,int32) (runs: 5098, μ: 11156, ~: 11361) -LibDecimalFloatGteTest:testGteXNotLtY(bytes32,bytes32) (runs: 5098, μ: 3947, ~: 3873) -LibDecimalFloatGteTest:testGteXPositiveYNegative(int256,int32,int256,int32) (runs: 5098, μ: 13794, ~: 13623) -LibDecimalFloatGteTest:testGteXPositiveYZero(int256,int32,int32) (runs: 5098, μ: 9551, ~: 9170) -LibDecimalFloatGteTest:testGteZero(int32,int32) (runs: 5098, μ: 4838, ~: 4838) +LibDecimalFloatGteTest:testGteOneEAny(bytes32) (runs: 5103, μ: 3494, ~: 3494) +LibDecimalFloatGteTest:testGteReference(int224,int32,int224,int32) (runs: 5103, μ: 8115, ~: 6344) +LibDecimalFloatGteTest:testGteX(int224,int32) (runs: 5103, μ: 3925, ~: 3925) +LibDecimalFloatGteTest:testGteXEAnyVsXEAny(int256,int32,int32) (runs: 5103, μ: 10622, ~: 10364) +LibDecimalFloatGteTest:testGteXEAnyVsXEAnyNegative(int256,int32,int32) (runs: 5103, μ: 11156, ~: 11361) +LibDecimalFloatGteTest:testGteXNotLtY(bytes32,bytes32) (runs: 5103, μ: 3947, ~: 3873) +LibDecimalFloatGteTest:testGteXPositiveYNegative(int256,int32,int256,int32) (runs: 5103, μ: 13794, ~: 13623) +LibDecimalFloatGteTest:testGteXPositiveYZero(int256,int32,int32) (runs: 5103, μ: 9551, ~: 9170) +LibDecimalFloatGteTest:testGteZero(int32,int32) (runs: 5103, μ: 4838, ~: 4838) LibDecimalFloatImplementationAddTest:testAdd123456789987654321() (gas: 4811) LibDecimalFloatImplementationAddTest:testAdd123456789e9987654321() (gas: 4861) -LibDecimalFloatImplementationAddTest:testAddNeverRevert(int256,int256,int256,int256) (runs: 5098, μ: 13101, ~: 13034) +LibDecimalFloatImplementationAddTest:testAddNeverRevert(int256,int256,int256,int256) (runs: 5103, μ: 13101, ~: 13034) LibDecimalFloatImplementationAddTest:testAddOneOneNotMaximized() (gas: 6148) LibDecimalFloatImplementationAddTest:testAddOneOnePreMaximized() (gas: 4300) LibDecimalFloatImplementationAddTest:testAddOneZero() (gas: 3666) -LibDecimalFloatImplementationAddTest:testAddSameExponent(int256,int256) (runs: 5098, μ: 6865, ~: 6935) +LibDecimalFloatImplementationAddTest:testAddSameExponent(int256,int256) (runs: 5102, μ: 6865, ~: 6935) LibDecimalFloatImplementationAddTest:testAddZero() (gas: 3665) -LibDecimalFloatImplementationAddTest:testAddZeroAnyExponent(int128) (runs: 5098, μ: 9293, ~: 9271) +LibDecimalFloatImplementationAddTest:testAddZeroAnyExponent(int128) (runs: 5103, μ: 9293, ~: 9271) LibDecimalFloatImplementationAddTest:testAddZeroOne() (gas: 3664) -LibDecimalFloatImplementationAddTest:testAddZeroToAnyNonZero(int256,int256,int256) (runs: 5098, μ: 13974, ~: 13948) +LibDecimalFloatImplementationAddTest:testAddZeroToAnyNonZero(int256,int256,int256) (runs: 5103, μ: 13974, ~: 13948) LibDecimalFloatImplementationAddTest:testAddingSmallToLargeReturnsLargeExamples() (gas: 92086) -LibDecimalFloatImplementationAddTest:testAddingSmallToLargeReturnsLargeFuzz(int256,int256,int256,int256) (runs: 5097, μ: 16980, ~: 16963) +LibDecimalFloatImplementationAddTest:testAddingSmallToLargeReturnsLargeFuzz(int256,int256,int256,int256) (runs: 5101, μ: 16979, ~: 16963) LibDecimalFloatImplementationAddTest:testGasAddOne() (gas: 1342) LibDecimalFloatImplementationAddTest:testGasAddZero() (gas: 360) -LibDecimalFloatImplementationAddTest:testOverflowChecks(int256,int256) (runs: 5098, μ: 3857, ~: 3843) +LibDecimalFloatImplementationAddTest:testOverflowChecks(int256,int256) (runs: 5103, μ: 3857, ~: 3843) LibDecimalFloatImplementationCharacteristicMantissaTest:testCharacteristicMantissaExamples() (gas: 30611) LibDecimalFloatImplementationDivTest:testDiv1Over3() (gas: 7062) LibDecimalFloatImplementationDivTest:testDiv1Over3Gas0() (gas: 2277) LibDecimalFloatImplementationDivTest:testDiv1Over3Gas10() (gas: 19442) LibDecimalFloatImplementationDivTest:testDiv1Over9Over1Over3() (gas: 14735) LibDecimalFloatImplementationDivTest:testDiv1e18Over3() (gas: 6766) -LibDecimalFloatImplementationDivTest:testDivBy1(int256,int256) (runs: 5098, μ: 335333, ~: 339387) -LibDecimalFloatImplementationDivTest:testDivByNegativeOneFloat(int256,int256) (runs: 5098, μ: 337839, ~: 342152) +LibDecimalFloatImplementationDivTest:testDivBy1(int256,int256) (runs: 5103, μ: 335332, ~: 339387) +LibDecimalFloatImplementationDivTest:testDivByNegativeOneFloat(int256,int256) (runs: 5103, μ: 337838, ~: 342152) LibDecimalFloatImplementationDivTest:testDivNegative1Over3() (gas: 7157) LibDecimalFloatImplementationDivTest:testDivOOMs5and2() (gas: 6387) LibDecimalFloatImplementationDivTest:testDivOOMsOverTen() (gas: 7077) LibDecimalFloatImplementationDivTest:testDivTenOverOOMs() (gas: 6990) -LibDecimalFloatImplementationDivTest:testUnnormalizedThreesDiv0(int256,int256) (runs: 102, μ: 27472606, ~: 27491668) +LibDecimalFloatImplementationDivTest:testUnnormalizedThreesDiv0(int256,int256) (runs: 107, μ: 27473511, ~: 27491668) LibDecimalFloatImplementationEqTest:testEqGasAZero() (gas: 430) LibDecimalFloatImplementationEqTest:testEqGasBZero() (gas: 473) LibDecimalFloatImplementationEqTest:testEqGasBothZero() (gas: 450) LibDecimalFloatImplementationEqTest:testEqGasDifferentSigns() (gas: 482) LibDecimalFloatImplementationEqTest:testEqGasExponentDiffOverflow() (gas: 533) -LibDecimalFloatImplementationEqTest:testEqNotReverts(int256,int256,int256,int256) (runs: 5098, μ: 654, ~: 679) -LibDecimalFloatImplementationEqTest:testEqOneEAny(int256,int256) (runs: 5098, μ: 3416, ~: 3416) -LibDecimalFloatImplementationEqTest:testEqReference(int256,int256,int256,int256) (runs: 5098, μ: 9903, ~: 11437) -LibDecimalFloatImplementationEqTest:testEqX(int256) (runs: 5098, μ: 3392, ~: 3392) -LibDecimalFloatImplementationEqTest:testEqXEAnyVsXEAny(int256,int256,int256) (runs: 5098, μ: 4718, ~: 4714) -LibDecimalFloatImplementationEqTest:testEqXEqY(int256,int256,int256,int256) (runs: 5098, μ: 732, ~: 753) -LibDecimalFloatImplementationEqTest:testEqXNotY(int256,int256,int256,int256) (runs: 5098, μ: 3928, ~: 3953) -LibDecimalFloatImplementationEqTest:testEqZero(int256,int256) (runs: 5098, μ: 3440, ~: 3440) +LibDecimalFloatImplementationEqTest:testEqNotReverts(int256,int256,int256,int256) (runs: 5103, μ: 654, ~: 679) +LibDecimalFloatImplementationEqTest:testEqOneEAny(int256,int256) (runs: 5103, μ: 3416, ~: 3416) +LibDecimalFloatImplementationEqTest:testEqReference(int256,int256,int256,int256) (runs: 5103, μ: 9906, ~: 11456) +LibDecimalFloatImplementationEqTest:testEqX(int256) (runs: 5103, μ: 3392, ~: 3392) +LibDecimalFloatImplementationEqTest:testEqXEAnyVsXEAny(int256,int256,int256) (runs: 5103, μ: 4718, ~: 4714) +LibDecimalFloatImplementationEqTest:testEqXEqY(int256,int256,int256,int256) (runs: 5103, μ: 732, ~: 753) +LibDecimalFloatImplementationEqTest:testEqXNotY(int256,int256,int256,int256) (runs: 5103, μ: 3928, ~: 3953) +LibDecimalFloatImplementationEqTest:testEqZero(int256,int256) (runs: 5103, μ: 3440, ~: 3440) LibDecimalFloatImplementationInvTest:testInv0() (gas: 5527) LibDecimalFloatImplementationInvTest:testInvGas0() (gas: 2081) -LibDecimalFloatImplementationInvTest:testInvReference(int256,int256) (runs: 5098, μ: 14576, ~: 14532) +LibDecimalFloatImplementationInvTest:testInvReference(int256,int256) (runs: 5103, μ: 14576, ~: 14532) LibDecimalFloatImplementationInvTest:testInvSlowGas0() (gas: 2265) LibDecimalFloatImplementationLog10Test:testExactLogs() (gas: 1265623) -LibDecimalFloatImplementationLog10Test:testExactLookupsLog10() (gas: 1301555) +LibDecimalFloatImplementationLog10Test:testExactLookupsLog10() (gas: 1301577) LibDecimalFloatImplementationLog10Test:testInterpolatedLookups() (gas: 1260156) -LibDecimalFloatImplementationLog10Test:testSub1() (gas: 1262032) -LibDecimalFloatImplementationMaximizeTest:testMaximizedEverything(int256,int256) (runs: 5098, μ: 9478, ~: 9455) +LibDecimalFloatImplementationLog10Test:testLog10One() (gas: 1463200) +LibDecimalFloatImplementationLog10Test:testSub1() (gas: 1262077) +LibDecimalFloatImplementationMaximizeTest:testMaximizedEverything(int256,int256) (runs: 5103, μ: 9477, ~: 9455) LibDecimalFloatImplementationMaximizeTest:testMaximizedExamples() (gas: 165819) -LibDecimalFloatImplementationMaximizeTest:testMaximizedIdempotent(int256,int256) (runs: 5098, μ: 9903, ~: 9868) -LibDecimalFloatImplementationMaximizeTest:testMaximizedReference(int256,int256) (runs: 5098, μ: 13376, ~: 14263) -LibDecimalFloatImplementationMinusTest:testMinusIsSubZero(int256,int256,int256) (runs: 5098, μ: 12949, ~: 12929) +LibDecimalFloatImplementationMaximizeTest:testMaximizedIdempotent(int256,int256) (runs: 5103, μ: 9902, ~: 9868) +LibDecimalFloatImplementationMaximizeTest:testMaximizedReference(int256,int256) (runs: 5103, μ: 13375, ~: 14263) +LibDecimalFloatImplementationMinusTest:testMinusIsSubZero(int256,int256,int256) (runs: 5103, μ: 12949, ~: 12929) LibDecimalFloatImplementationMulTest:testMul123456789987654321() (gas: 5559) -LibDecimalFloatImplementationMulTest:testMul123456789987654321WithExponents(int128,int128) (runs: 5098, μ: 15078, ~: 15160) +LibDecimalFloatImplementationMulTest:testMul123456789987654321WithExponents(int128,int128) (runs: 5103, μ: 15078, ~: 15160) LibDecimalFloatImplementationMulTest:testMul1_3979_0_5() (gas: 6193) LibDecimalFloatImplementationMulTest:testMul1e181e19() (gas: 5603) LibDecimalFloatImplementationMulTest:testMulGasOne() (gas: 1470) @@ -193,104 +194,106 @@ LibDecimalFloatImplementationMulTest:testMulGasZero() (gas: 325) LibDecimalFloatImplementationMulTest:testMulMaxSignedCoefficient() (gas: 6674) LibDecimalFloatImplementationMulTest:testMulNegativeOne() (gas: 5660) LibDecimalFloatImplementationMulTest:testMulNegativeOneOne() (gas: 5659) -LibDecimalFloatImplementationMulTest:testMulNotRevertAnyExpectation(int256,int256,int256,int256) (runs: 5098, μ: 15244, ~: 14593) +LibDecimalFloatImplementationMulTest:testMulNotRevertAnyExpectation(int256,int256,int256,int256) (runs: 5103, μ: 15244, ~: 14593) LibDecimalFloatImplementationMulTest:testMulOneNegativeOne() (gas: 5635) LibDecimalFloatImplementationMulTest:testMulOneOne() (gas: 5582) LibDecimalFloatImplementationMulTest:testMulOneZero() (gas: 4481) LibDecimalFloatImplementationMulTest:testMulZero0Exponent() (gas: 4503) -LibDecimalFloatImplementationMulTest:testMulZeroAnyExponent(int64,int64) (runs: 5098, μ: 4704, ~: 4704) +LibDecimalFloatImplementationMulTest:testMulZeroAnyExponent(int64,int64) (runs: 5103, μ: 4704, ~: 4704) LibDecimalFloatImplementationMulTest:testMulZeroOne() (gas: 4438) LibDecimalFloatImplementationPow10Test:testExactLookupsPow10() (gas: 1283164) LibDecimalFloatImplementationPow10Test:testExactPows() (gas: 1260107) -LibDecimalFloatImplementationPow10Test:testInterpolatedLookupsPower() (gas: 1285510) -LibDecimalFloatImplementationPow10Test:testNoRevert(int224,int32) (runs: 5098, μ: 1259368, ~: 1259107) -LibDecimalFloatImplementationSubTest:testSubIsAdd(int256,int256,int256,int256) (runs: 5098, μ: 15801, ~: 15834) -LibDecimalFloatImplementationSubTest:testSubMinSignedValue(int256,int256,int256) (runs: 5098, μ: 14990, ~: 14932) +LibDecimalFloatImplementationPow10Test:testInterpolatedLookupsPower() (gas: 1285555) +LibDecimalFloatImplementationPow10Test:testNoRevert(int224,int32) (runs: 5099, μ: 1259397, ~: 1259129) +LibDecimalFloatImplementationPow10Test:testPow10One() (gas: 1507444) +LibDecimalFloatImplementationSubTest:testSubIsAdd(int256,int256,int256,int256) (runs: 5103, μ: 15801, ~: 15833) +LibDecimalFloatImplementationSubTest:testSubMinSignedValue(int256,int256,int256) (runs: 5103, μ: 14990, ~: 14932) LibDecimalFloatImplementationSubTest:testSubOneFromMax() (gas: 6517) -LibDecimalFloatImplementationSubTest:testSubSelf(int224,int32) (runs: 5098, μ: 5510, ~: 5620) -LibDecimalFloatImplementationUnabsUnsignedMulOrDivLossyTest:testUnabsUnsignedMulOrDivLossyMixedAB(uint256,uint256,uint256,int256) (runs: 5098, μ: 9961, ~: 9888) -LibDecimalFloatImplementationUnabsUnsignedMulOrDivLossyTest:testUnabsUnsignedMulOrDivLossyMixedABOverflow(uint256,uint256,uint256,int256) (runs: 5098, μ: 11207, ~: 11200) -LibDecimalFloatImplementationUnabsUnsignedMulOrDivLossyTest:testUnabsUnsignedMulOrDivLossyMixedBA(uint256,uint256,uint256,int256) (runs: 5098, μ: 11205, ~: 11198) -LibDecimalFloatImplementationUnabsUnsignedMulOrDivLossyTest:testUnabsUnsignedMulOrDivLossyMixedBAOverflow(uint256,uint256,int256) (runs: 5098, μ: 9070, ~: 9018) -LibDecimalFloatImplementationUnabsUnsignedMulOrDivLossyTest:testUnabsUnsignedMulOrDivLossyNegative(uint256,uint256,uint256,int256) (runs: 5098, μ: 9968, ~: 9892) -LibDecimalFloatImplementationUnabsUnsignedMulOrDivLossyTest:testUnabsUnsignedMulOrDivLossyNegativeOverflow(uint256,uint256,uint256,int256) (runs: 5098, μ: 11200, ~: 11190) -LibDecimalFloatImplementationUnabsUnsignedMulOrDivLossyTest:testUnabsUnsignedMulOrDivLossyPositive(uint256,uint256,uint256,int256) (runs: 5098, μ: 9103, ~: 9033) -LibDecimalFloatImplementationUnabsUnsignedMulOrDivLossyTest:testUnabsUnsignedMulOrDivLossyPositiveOverflow(uint256,uint256,uint256,int256) (runs: 5098, μ: 11090, ~: 11086) +LibDecimalFloatImplementationSubTest:testSubSelf(int224,int32) (runs: 5103, μ: 5510, ~: 5620) +LibDecimalFloatImplementationUnabsUnsignedMulOrDivLossyTest:testUnabsUnsignedMulOrDivLossyMixedAB(uint256,uint256,uint256,int256) (runs: 5103, μ: 9961, ~: 9888) +LibDecimalFloatImplementationUnabsUnsignedMulOrDivLossyTest:testUnabsUnsignedMulOrDivLossyMixedABOverflow(uint256,uint256,uint256,int256) (runs: 5103, μ: 11207, ~: 11200) +LibDecimalFloatImplementationUnabsUnsignedMulOrDivLossyTest:testUnabsUnsignedMulOrDivLossyMixedBA(uint256,uint256,uint256,int256) (runs: 5103, μ: 11205, ~: 11198) +LibDecimalFloatImplementationUnabsUnsignedMulOrDivLossyTest:testUnabsUnsignedMulOrDivLossyMixedBAOverflow(uint256,uint256,int256) (runs: 5103, μ: 9070, ~: 9018) +LibDecimalFloatImplementationUnabsUnsignedMulOrDivLossyTest:testUnabsUnsignedMulOrDivLossyNegative(uint256,uint256,uint256,int256) (runs: 5103, μ: 9968, ~: 9892) +LibDecimalFloatImplementationUnabsUnsignedMulOrDivLossyTest:testUnabsUnsignedMulOrDivLossyNegativeOverflow(uint256,uint256,uint256,int256) (runs: 5103, μ: 11200, ~: 11190) +LibDecimalFloatImplementationUnabsUnsignedMulOrDivLossyTest:testUnabsUnsignedMulOrDivLossyPositive(uint256,uint256,uint256,int256) (runs: 5103, μ: 9103, ~: 9033) +LibDecimalFloatImplementationUnabsUnsignedMulOrDivLossyTest:testUnabsUnsignedMulOrDivLossyPositiveOverflow(uint256,uint256,uint256,int256) (runs: 5103, μ: 11090, ~: 11086) LibDecimalFloatImplementationWithTargetExponentTest:testWithTargetExponentExamples() (gas: 13429) -LibDecimalFloatImplementationWithTargetExponentTest:testWithTargetExponentLargerExponentOverflowRescaleRevert(int256,int256,int256) (runs: 5098, μ: 14426, ~: 14395) -LibDecimalFloatImplementationWithTargetExponentTest:testWithTargetExponentLargerExponentVeryLargeDiffRevert(int256,int256,int256) (runs: 5098, μ: 13307, ~: 13527) -LibDecimalFloatImplementationWithTargetExponentTest:testWithTargetExponentLargerTargetExponentNoRevert(int256,int256,int256) (runs: 5098, μ: 11669, ~: 11718) -LibDecimalFloatImplementationWithTargetExponentTest:testWithTargetExponentSameExponentNoop(int256,int256) (runs: 5098, μ: 3676, ~: 3676) -LibDecimalFloatImplementationWithTargetExponentTest:testWithTargetExponentSmallerExponentNoRevert(int256,int256,int256) (runs: 5096, μ: 13874, ~: 13665) -LibDecimalFloatInvTest:testInvMem(bytes32) (runs: 5098, μ: 10606, ~: 10628) -LibDecimalFloatIsZeroTest:testIsZeroDeployed(bytes32) (runs: 5098, μ: 3899, ~: 3899) -LibDecimalFloatIsZeroTest:testIsZeroEqZero(bytes32) (runs: 5098, μ: 3527, ~: 3527) -LibDecimalFloatIsZeroTest:testIsZeroExamples(int32) (runs: 5098, μ: 4477, ~: 4477) -LibDecimalFloatIsZeroTest:testNotIsZero(int224,int32) (runs: 5098, μ: 3896, ~: 3896) -LibDecimalFloatLog10Test:testLog10Packed(bytes32) (runs: 5098, μ: 1646402, ~: 1270121) +LibDecimalFloatImplementationWithTargetExponentTest:testWithTargetExponentLargerExponentOverflowRescaleRevert(int256,int256,int256) (runs: 5099, μ: 14426, ~: 14395) +LibDecimalFloatImplementationWithTargetExponentTest:testWithTargetExponentLargerExponentVeryLargeDiffRevert(int256,int256,int256) (runs: 5103, μ: 13307, ~: 13527) +LibDecimalFloatImplementationWithTargetExponentTest:testWithTargetExponentLargerTargetExponentNoRevert(int256,int256,int256) (runs: 5103, μ: 11669, ~: 11718) +LibDecimalFloatImplementationWithTargetExponentTest:testWithTargetExponentSameExponentNoop(int256,int256) (runs: 5103, μ: 3676, ~: 3676) +LibDecimalFloatImplementationWithTargetExponentTest:testWithTargetExponentSmallerExponentNoRevert(int256,int256,int256) (runs: 5100, μ: 13874, ~: 13665) +LibDecimalFloatInvTest:testInvMem(bytes32) (runs: 5103, μ: 10606, ~: 10628) +LibDecimalFloatIsZeroTest:testIsZeroDeployed(bytes32) (runs: 5103, μ: 3899, ~: 3899) +LibDecimalFloatIsZeroTest:testIsZeroEqZero(bytes32) (runs: 5103, μ: 3527, ~: 3527) +LibDecimalFloatIsZeroTest:testIsZeroExamples(int32) (runs: 5103, μ: 4477, ~: 4477) +LibDecimalFloatIsZeroTest:testNotIsZero(int224,int32) (runs: 5103, μ: 3896, ~: 3896) +LibDecimalFloatLog10Test:testLog10Packed(bytes32) (runs: 5103, μ: 1646020, ~: 1270121) LibDecimalFloatLtTest:testLtExamples() (gas: 3994) LibDecimalFloatLtTest:testLtGasAZero() (gas: 946) LibDecimalFloatLtTest:testLtGasBZero() (gas: 1012) LibDecimalFloatLtTest:testLtGasBothZero() (gas: 969) LibDecimalFloatLtTest:testLtGasDifferentSigns() (gas: 969) LibDecimalFloatLtTest:testLtGasExponentDiffOverflow() (gas: 1053) -LibDecimalFloatLtTest:testLtNegativeVsPositive(int256,int32,int256,int32) (runs: 5098, μ: 13749, ~: 13593) -LibDecimalFloatLtTest:testLtNegativeVsZero(int256,int32,int32) (runs: 5098, μ: 10789, ~: 11008) -LibDecimalFloatLtTest:testLtOneEAny(int224,int32) (runs: 5098, μ: 3905, ~: 3905) -LibDecimalFloatLtTest:testLtReference(bytes32,bytes32) (runs: 5098, μ: 4697, ~: 4998) -LibDecimalFloatLtTest:testLtVsEqualVsGt(bytes32,bytes32) (runs: 5098, μ: 4323, ~: 4210) -LibDecimalFloatLtTest:testLtX(int224) (runs: 5098, μ: 3798, ~: 3798) -LibDecimalFloatLtTest:testLtXEAnyVsXEAny(int256,int32,int32) (runs: 5098, μ: 10557, ~: 10297) -LibDecimalFloatLtTest:testLtXEAnyVsXEAnyNegative(int256,int32,int32) (runs: 5098, μ: 11153, ~: 11359) -LibDecimalFloatLtTest:testLtZero(int32,int32) (runs: 5098, μ: 4171, ~: 4171) +LibDecimalFloatLtTest:testLtNegativeVsPositive(int256,int32,int256,int32) (runs: 5103, μ: 13749, ~: 13593) +LibDecimalFloatLtTest:testLtNegativeVsZero(int256,int32,int32) (runs: 5103, μ: 10790, ~: 11008) +LibDecimalFloatLtTest:testLtOneEAny(int224,int32) (runs: 5103, μ: 3905, ~: 3905) +LibDecimalFloatLtTest:testLtReference(bytes32,bytes32) (runs: 5103, μ: 4698, ~: 4998) +LibDecimalFloatLtTest:testLtVsEqualVsGt(bytes32,bytes32) (runs: 5103, μ: 4323, ~: 4210) +LibDecimalFloatLtTest:testLtX(int224) (runs: 5103, μ: 3798, ~: 3798) +LibDecimalFloatLtTest:testLtXEAnyVsXEAny(int256,int32,int32) (runs: 5103, μ: 10557, ~: 10297) +LibDecimalFloatLtTest:testLtXEAnyVsXEAnyNegative(int256,int32,int32) (runs: 5103, μ: 11153, ~: 11359) +LibDecimalFloatLtTest:testLtZero(int32,int32) (runs: 5103, μ: 4171, ~: 4171) LibDecimalFloatLteTest:testLteGasAZero() (gas: 997) LibDecimalFloatLteTest:testLteGasBZero() (gas: 999) LibDecimalFloatLteTest:testLteGasBothZero() (gas: 753) LibDecimalFloatLteTest:testLteGasDifferentSigns() (gas: 976) LibDecimalFloatLteTest:testLteGasExponentDiffOverflow() (gas: 1082) -LibDecimalFloatLteTest:testLteOneEAny(bytes32) (runs: 5098, μ: 3493, ~: 3493) -LibDecimalFloatLteTest:testLteReference(int224,int32,int224,int32) (runs: 5098, μ: 8112, ~: 6341) -LibDecimalFloatLteTest:testLteX(int224,int32) (runs: 5098, μ: 3904, ~: 3904) -LibDecimalFloatLteTest:testLteXEAnyVsXEAny(int256,int32,int32) (runs: 5098, μ: 10582, ~: 10321) -LibDecimalFloatLteTest:testLteXEAnyVsXEAnyNegative(int256,int32,int32) (runs: 5098, μ: 11177, ~: 11383) -LibDecimalFloatLteTest:testLteXNotLtY(bytes32,bytes32) (runs: 5098, μ: 3882, ~: 3807) -LibDecimalFloatLteTest:testLteXPositiveYNegative(int256,int32,int256,int32) (runs: 5098, μ: 13103, ~: 12931) -LibDecimalFloatLteTest:testLteXPositiveYZero(int256,int32,int32) (runs: 5098, μ: 9575, ~: 9191) -LibDecimalFloatLteTest:testLteZero(int32,int32) (runs: 5098, μ: 4816, ~: 4816) -LibDecimalFloatMaxTest:testMaxX(bytes32) (runs: 5098, μ: 4246, ~: 4246) -LibDecimalFloatMaxTest:testMaxXY(bytes32,bytes32) (runs: 5098, μ: 4689, ~: 4613) -LibDecimalFloatMaxTest:testMaxXYEqual(bytes32) (runs: 5098, μ: 5272, ~: 5272) -LibDecimalFloatMaxTest:testMaxXYGreater(bytes32,bytes32) (runs: 5098, μ: 6129, ~: 6016) -LibDecimalFloatMaxTest:testMaxXYLess(bytes32,bytes32) (runs: 5096, μ: 6141, ~: 6027) -LibDecimalFloatMinTest:testMinX(bytes32) (runs: 5098, μ: 4268, ~: 4268) -LibDecimalFloatMinTest:testMinXY(bytes32,bytes32) (runs: 5098, μ: 4689, ~: 4613) -LibDecimalFloatMinTest:testMinXYEqual(bytes32) (runs: 5098, μ: 5292, ~: 5292) -LibDecimalFloatMinTest:testMinXYGreater(bytes32,bytes32) (runs: 5098, μ: 6074, ~: 5961) -LibDecimalFloatMinTest:testMinXYLess(bytes32,bytes32) (runs: 5096, μ: 6087, ~: 5972) -LibDecimalFloatMinusTest:testMinusPacked(bytes32) (runs: 5098, μ: 5550, ~: 5550) +LibDecimalFloatLteTest:testLteOneEAny(bytes32) (runs: 5103, μ: 3493, ~: 3493) +LibDecimalFloatLteTest:testLteReference(int224,int32,int224,int32) (runs: 5103, μ: 8110, ~: 6315) +LibDecimalFloatLteTest:testLteX(int224,int32) (runs: 5103, μ: 3904, ~: 3904) +LibDecimalFloatLteTest:testLteXEAnyVsXEAny(int256,int32,int32) (runs: 5103, μ: 10582, ~: 10321) +LibDecimalFloatLteTest:testLteXEAnyVsXEAnyNegative(int256,int32,int32) (runs: 5103, μ: 11177, ~: 11383) +LibDecimalFloatLteTest:testLteXNotLtY(bytes32,bytes32) (runs: 5103, μ: 3882, ~: 3807) +LibDecimalFloatLteTest:testLteXPositiveYNegative(int256,int32,int256,int32) (runs: 5103, μ: 13103, ~: 12931) +LibDecimalFloatLteTest:testLteXPositiveYZero(int256,int32,int32) (runs: 5103, μ: 9575, ~: 9191) +LibDecimalFloatLteTest:testLteZero(int32,int32) (runs: 5103, μ: 4816, ~: 4816) +LibDecimalFloatMaxTest:testMaxX(bytes32) (runs: 5103, μ: 4246, ~: 4246) +LibDecimalFloatMaxTest:testMaxXY(bytes32,bytes32) (runs: 5103, μ: 4689, ~: 4613) +LibDecimalFloatMaxTest:testMaxXYEqual(bytes32) (runs: 5103, μ: 5272, ~: 5272) +LibDecimalFloatMaxTest:testMaxXYGreater(bytes32,bytes32) (runs: 5101, μ: 6129, ~: 6016) +LibDecimalFloatMaxTest:testMaxXYLess(bytes32,bytes32) (runs: 5098, μ: 6141, ~: 6027) +LibDecimalFloatMinTest:testMinX(bytes32) (runs: 5103, μ: 4268, ~: 4268) +LibDecimalFloatMinTest:testMinXY(bytes32,bytes32) (runs: 5103, μ: 4689, ~: 4613) +LibDecimalFloatMinTest:testMinXYEqual(bytes32) (runs: 5103, μ: 5292, ~: 5292) +LibDecimalFloatMinTest:testMinXYGreater(bytes32,bytes32) (runs: 5099, μ: 6074, ~: 5961) +LibDecimalFloatMinTest:testMinXYLess(bytes32,bytes32) (runs: 5100, μ: 6087, ~: 5972) +LibDecimalFloatMinusTest:testMinusPacked(bytes32) (runs: 5103, μ: 5550, ~: 5550) LibDecimalFloatMixedTest:testDiv1Over3Mixed() (gas: 11063) -LibDecimalFloatMulTest:testMulPacked(bytes32,bytes32) (runs: 5098, μ: 9630, ~: 10369) -LibDecimalFloatPackTest:testPartsRoundTrip(int224,int32) (runs: 5098, μ: 5352, ~: 5352) -LibDecimalFloatPow10Test:testPow10Packed(bytes32) (runs: 5098, μ: 1646864, ~: 1256455) -LibDecimalFloatPowTest:testNegativePowError(bytes32,bytes32) (runs: 5098, μ: 1247477, ~: 1247586) -LibDecimalFloatPowTest:testPowAZero(int32,bytes32) (runs: 5098, μ: 1246471, ~: 1246471) -LibDecimalFloatPowTest:testPowAZeroNegative(bytes32) (runs: 5096, μ: 1246870, ~: 1246870) -LibDecimalFloatPowTest:testPowBZero(bytes32,int32) (runs: 5098, μ: 1246058, ~: 1246058) -LibDecimalFloatPowTest:testPows() (gas: 1310306) -LibDecimalFloatPowTest:testRoundTripFuzzPow(bytes32,bytes32) (runs: 5098, μ: 1261922, ~: 1258608) -LibDecimalFloatPowTest:testRoundTripSimple() (gas: 1597986) -LibDecimalFloatSqrtTest:testRoundTripFuzzSqrt(int224,int32) (runs: 5098, μ: 1295705, ~: 1299374) -LibDecimalFloatSqrtTest:testSqrt() (gas: 1291880) -LibDecimalFloatSqrtTest:testSqrtNegative(bytes32) (runs: 5098, μ: 1247095, ~: 1247204) -LibDecimalFloatSqrtTest:testSqrtRoundTrip() (gas: 1415022) -LibDecimalFloatSubTest:testSubPacked(bytes32,bytes32) (runs: 5098, μ: 9974, ~: 9995) +LibDecimalFloatMulTest:testMulPacked(bytes32,bytes32) (runs: 5103, μ: 9629, ~: 10369) +LibDecimalFloatPackTest:testPartsRoundTrip(int224,int32) (runs: 5103, μ: 5352, ~: 5352) +LibDecimalFloatPow10Test:testPow10Packed(bytes32) (runs: 5103, μ: 1646475, ~: 1256455) +LibDecimalFloatPowTest:testNegativePowError(bytes32,bytes32) (runs: 5103, μ: 1247808, ~: 1247883) +LibDecimalFloatPowTest:testPowAZero(int32,bytes32) (runs: 5102, μ: 1246471, ~: 1246471) +LibDecimalFloatPowTest:testPowAZeroNegative(bytes32) (runs: 5096, μ: 1246849, ~: 1246849) +LibDecimalFloatPowTest:testPowBOne(bytes32) (runs: 5103, μ: 1547891, ~: 1547859) +LibDecimalFloatPowTest:testPowBZero(bytes32,int32) (runs: 5103, μ: 1246035, ~: 1246035) +LibDecimalFloatPowTest:testPows() (gas: 1316472) +LibDecimalFloatPowTest:testRoundTripFuzzPow(bytes32,bytes32) (runs: 5103, μ: 1262547, ~: 1258984) +LibDecimalFloatPowTest:testRoundTripSimple() (gas: 1607470) +LibDecimalFloatSqrtTest:testRoundTripFuzzSqrt(int224,int32) (runs: 5103, μ: 1296851, ~: 1300798) +LibDecimalFloatSqrtTest:testSqrt() (gas: 1293803) +LibDecimalFloatSqrtTest:testSqrtNegative(bytes32) (runs: 5103, μ: 1247737, ~: 1247845) +LibDecimalFloatSqrtTest:testSqrtRoundTrip() (gas: 1423214) +LibDecimalFloatSubTest:testSubPacked(bytes32,bytes32) (runs: 5103, μ: 9974, ~: 9995) LibFormatDecimalFloatCountSigFigs:testCountSigFigsExamples() (gas: 83596) -LibFormatDecimalFloatCountSigFigs:testCountSigFigsOne(int256) (runs: 5098, μ: 31883, ~: 31719) -LibFormatDecimalFloatCountSigFigs:testCountSigFigsZero(int256) (runs: 5098, μ: 3764, ~: 3764) +LibFormatDecimalFloatCountSigFigs:testCountSigFigsOne(int256) (runs: 5103, μ: 31879, ~: 31719) +LibFormatDecimalFloatCountSigFigs:testCountSigFigsZero(int256) (runs: 5103, μ: 3764, ~: 3764) LibFormatDecimalFloatToDecimalStringTest:testFormatDecimalCustomSigFigs() (gas: 26601) LibFormatDecimalFloatToDecimalStringTest:testFormatDecimalExamples() (gas: 895496) -LibFormatDecimalFloatToDecimalStringTest:testFormatDecimalRoundTripNegative(int256,uint256) (runs: 5098, μ: 71195, ~: 73798) -LibFormatDecimalFloatToDecimalStringTest:testFormatDecimalRoundTripNonNegative(uint256,uint256) (runs: 5098, μ: 54838, ~: 47581) +LibFormatDecimalFloatToDecimalStringTest:testFormatDecimalRoundTripNegative(int256,uint256) (runs: 5103, μ: 71187, ~: 73798) +LibFormatDecimalFloatToDecimalStringTest:testFormatDecimalRoundTripNonNegative(uint256,uint256) (runs: 5103, μ: 54829, ~: 47508) LibLogTableBytesTest:testToBytesAntiLogTableDec() (gas: 159794) LibLogTableBytesTest:testToBytesAntiLogTableDecSmall() (gas: 162322) LibLogTableBytesTest:testToBytesLogTableDec() (gas: 143165) @@ -313,7 +316,7 @@ LibParseDecimalFloatTest:testParseLiteralDecimalFloatEDot() (gas: 4168) LibParseDecimalFloatTest:testParseLiteralDecimalFloatExponentRevert5() (gas: 4176) LibParseDecimalFloatTest:testParseLiteralDecimalFloatExponentRevert6() (gas: 4166) LibParseDecimalFloatTest:testParseLiteralDecimalFloatExponents() (gas: 402907) -LibParseDecimalFloatTest:testParseLiteralDecimalFloatFuzz(uint256,uint8,bool) (runs: 5098, μ: 46196, ~: 37319) +LibParseDecimalFloatTest:testParseLiteralDecimalFloatFuzz(uint256,uint8,bool) (runs: 5103, μ: 46202, ~: 37321) LibParseDecimalFloatTest:testParseLiteralDecimalFloatLeadingZeros() (gas: 59757) LibParseDecimalFloatTest:testParseLiteralDecimalFloatNegativeE() (gas: 6120) LibParseDecimalFloatTest:testParseLiteralDecimalFloatNegativeFrac() (gas: 5115) @@ -321,5 +324,5 @@ LibParseDecimalFloatTest:testParseLiteralDecimalFloatPrecisionRevert0() (gas: 27 LibParseDecimalFloatTest:testParseLiteralDecimalFloatPrecisionRevert1() (gas: 24934) LibParseDecimalFloatTest:testParseLiteralDecimalFloatSpecific() (gas: 22959) LibParseDecimalFloatTest:testParseLiteralDecimalFloatUnrelated() (gas: 51254) -LibParseDecimalFloatTest:testParsePacked(string) (runs: 5098, μ: 9811, ~: 9692) -TestDecimalFloatUnpackTest:testUnpackDeployed(bytes32) (runs: 5098, μ: 158422, ~: 158422) \ No newline at end of file +LibParseDecimalFloatTest:testParsePacked(string) (runs: 5103, μ: 9811, ~: 9692) +TestDecimalFloatUnpackTest:testUnpackDeployed(bytes32) (runs: 5103, μ: 158422, ~: 158422) \ No newline at end of file