fixed

Pure Haskell large fixed-width integers.
git clone git://git.ppad.tech/fixed.git
Log | Files | Refs | README | LICENSE

commit 02d81a9ef2edc4293919a46a25f1d71ecbc66611
parent e40d0ee7457bdddb177d2c98e03f033e1e94c62c
Author: Jared Tobin <jared@jtobin.io>
Date:   Mon,  3 Feb 2025 11:20:45 +0400

bench: gut old stuff

Diffstat:
Mbench/Main.hs | 118++++++-------------------------------------------------------------------------
1 file changed, 9 insertions(+), 109 deletions(-)

diff --git a/bench/Main.hs b/bench/Main.hs @@ -32,19 +32,19 @@ division = bgroup "division" [ , div_baseline , mod , mod_baseline - -- , recip_2by1 - -- , quotrem_by1 - -- , rem_by1 - -- , quotrem_2by1 - -- , quot_r - -- , quotrem_r + , recip_2by1 + , quotrem_by1 + , rem_by1 + , quotrem_2by1 + , quot_r + , quotrem_r ] main :: IO () main = defaultMain [ - -- add_sub - --, multiplication - division + add_sub + , multiplication + , division ] -- addition and subtraction --------------------------------------------------- @@ -151,103 +151,3 @@ mod = bench "mod" $ nf (W.mod w0) w1 where !w1 = W.to_word256 0x066bd4c3c10e30260cb6e7832af25f15527b089b258a1fef13b6eec3ce73bf06 - --- quotrem_by1_case0 :: H.Assertion --- quotrem_by1_case0 = do --- qm <- PA.newPrimArray 2 --- PA.setPrimArray qm 0 2 0 --- let !u = PA.primArrayFromList [4, 8] --- !d = B.complement 0xFF :: Word64 --- r <- quotrem_by1 qm u d --- q <- PA.unsafeFreezePrimArray qm --- H.assertEqual "quotient" (PA.primArrayFromList [8, 0]) q --- H.assertEqual "remainder" 2052 r - - --- or_baseline :: Benchmark --- or_baseline = bench "or (baseline)" $ nf ((.|.) w0) w1 where --- w0, w1 :: Integer --- !w0 = 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed --- !w1 = 0x7fffffffffffffffffffffffffffffffffffffffffffffbfffffffffffffffed --- --- or :: Benchmark --- or = bench "or" $ nf (W.or w0) w1 where --- !w0 = W.to_word256 --- 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed --- !w1 = W.to_word256 --- 0x7fffffffffffffffffffffffffffffffffffffffffffffbfffffffffffffffed --- --- and_baseline :: Benchmark --- and_baseline = bench "and (baseline)" $ nf ((.&.) w0) w1 where --- w0, w1 :: Integer --- !w0 = 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed --- !w1 = 0x7fffffffffffffffffffffffffffffffffffffffffffffbfffffffffffffffed --- --- and :: Benchmark --- and = bench "and" $ nf (W.and w0) w1 where --- !w0 = W.to_word256 --- 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed --- !w1 = W.to_word256 --- 0x7fffffffffffffffffffffffffffffffffffffffffffffbfffffffffffffffed --- --- xor_baseline :: Benchmark --- xor_baseline = bench "xor (baseline)" $ nf ((.^.) w0) w1 where --- w0, w1 :: Integer --- !w0 = 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed --- !w1 = 0x7fffffffffffffffffffffffffffffffffffffffffffffbfffffffffffffffed --- --- xor :: Benchmark --- xor = bench "xor" $ nf (W.xor w0) w1 where --- !w0 = W.to_word256 --- 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed --- !w1 = W.to_word256 --- 0x7fffffffffffffffffffffffffffffffffffffffffffffbfffffffffffffffed --- --- mul128_baseline :: Benchmark --- mul128_baseline = bench "mul128 (baseline)" $ nf ((*) w0) w1 where --- w0, w1 :: Integer --- !w0 = 0x7fffffffffffffffffffffffffffffed --- !w1 = 0x7ffffffffffffffbffffffffffffffed --- --- mul128 :: Benchmark --- mul128 = bench "mul128" $ nf (W.mul w0) w1 where --- !w0 = W.to_word256 0x7fffffffffffffffffffffffffffffed --- !w1 = W.to_word256 0x7ffffffffffffffbffffffffffffffed - --- arithmetic :: Benchmark --- arithmetic = bgroup "arithmetic" [ --- add --- , sub --- , mul --- , div --- , mod --- ] --- --- baseline_arithmetic :: Benchmark --- baseline_arithmetic = bgroup "baseline arithmetic" [ --- add_baseline --- , sub_baseline --- , mul_baseline --- , div_baseline --- , mod_baseline --- ] --- --- baseline_comparison :: Benchmark --- baseline_comparison = bgroup "baseline comparison" [ --- add_baseline --- , add --- , sub_baseline --- , sub --- , mul_baseline --- , mul --- , div_baseline --- , div --- ] --- --- bits :: Benchmark --- bits = bgroup "bits" [ --- and --- , or --- , xor --- ] ---