fixed

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

commit 15d151f26d8e183fc41e392bcd76318f54a9f28f
parent bf214e241ea0b58f75a6abf26a217792c6643976
Author: Jared Tobin <jared@jtobin.io>
Date:   Sun, 23 Nov 2025 16:06:20 +0400

bench: weigh formatting fixes

Diffstat:
Mbench/Weight.hs | 101++++++++++++++++++++++---------------------------------------------------------
1 file changed, 28 insertions(+), 73 deletions(-)

diff --git a/bench/Weight.hs b/bench/Weight.hs @@ -4,7 +4,6 @@ module Main where -import qualified Data.Word.Wider as W import qualified Numeric.Montgomery.Secp256k1.Curve as C import qualified Numeric.Montgomery.Secp256k1.Scalar as S import Weigh @@ -22,93 +21,49 @@ main = mainWith $ do add :: Weigh () add = wgroup "add" $ do - func "curve: M(1) + M(2)" - (C.add C.one) - (C.to (W.to 2)) - func "curve: M(1) + M(2 ^ 255 - 19)" - (C.add C.one) - (C.to (W.to (2 ^ 255 - 19))) - func "scalar: M(1) + M(2)" - (S.add S.one) - (S.to (W.to 2)) - func "scalar: M(1) + M(2 ^ 255 - 19)" - (S.add S.one) - (S.to (W.to (2 ^ 255 - 19))) + func "curve: M(1) + M(2)" (C.add 1) 2 + func "curve: M(1) + M(2 ^ 255 - 19)" (C.add 1) (2 ^ 255 - 19) + func "scalar: M(1) + M(2)" (S.add S.one) 2 + func "scalar: M(1) + M(2 ^ 255 - 19)" (S.add S.one) (2 ^ 255 - 19) sub :: Weigh () sub = wgroup "sub" $ do - func "curve: M(2 ^ 255 - 1) - M(1)" - (C.sub (C.to (W.to (2 ^ 255 - 1)))) - C.one - func "curve: M(2 ^ 255 - 1) - M(2 ^ 255 - 19)" - (C.sub (C.to (W.to (2 ^ 255 - 1)))) - (C.to (W.to (2 ^ 255 - 19))) - func "scalar: M(2 ^ 255 - 1) - M(1)" - (S.sub (S.to (W.to (2 ^ 255 - 1)))) - S.one - func "scalar: M(2 ^ 255 - 1) - M(2 ^ 255 - 19)" - (S.sub (S.to (W.to (2 ^ 255 - 1)))) - (S.to (W.to (2 ^ 255 - 19))) + func "curve: M(2 ^ 255 - 1) - M(1)" (C.sub (2 ^ 255 - 1)) 1 + func "curve: M(2 ^ 255 - 1) - M(2 ^ 255 - 19)" (C.sub (2 ^ 255 - 1)) (2 ^ 255 - 19) + func "scalar: M(2 ^ 255 - 1) - M(1)" (S.sub (2 ^ 255 - 1)) S.one + func "scalar: M(2 ^ 255 - 1) - M(2 ^ 255 - 19)" (S.sub (2 ^ 255 - 1)) (2 ^ 255 - 19) mul :: Weigh () mul = wgroup "mul" $ do - func "curve: M(2) * M(2)" - (C.mul (C.to (W.to 2))) - (C.to (W.to 2)) - func "curve: M(2) * M(2 ^ 255 - 19)" - (C.mul (C.to (W.to 2))) - (C.to (W.to (2 ^ 255 - 19))) - func "scalar: M(2) * M(2)" - (S.mul (S.to (W.to 2))) - (S.to (W.to 2)) - func "scalar: M(2) * M(2 ^ 255 - 19)" - (S.mul (S.to (W.to 2))) - (S.to (W.to (2 ^ 255 - 19))) + func "curve: M(2) * M(2)" (C.mul 2) 2 + func "curve: M(2) * M(2 ^ 255 - 19)" (C.mul 2) (2 ^ 255 - 19) + func "scalar: M(2) * M(2)" (S.mul 2) 2 + func "scalar: M(2) * M(2 ^ 255 - 19)" (S.mul 2) (2 ^ 255 - 19) sqr :: Weigh () sqr = wgroup "sqr" $ do - func "curve: M(2) ^ 2" C.sqr - (C.to (W.to 2)) - func "curve: M(2 ^ 255 - 19) ^ 2" C.sqr - (C.to (W.to (2 ^ 255 - 19))) - func "scalar: M(2) ^ 2" S.sqr - (S.to (W.to 2)) - func "scalar: M(2 ^ 255 - 19) ^ 2" S.sqr - (S.to (W.to (2 ^ 255 - 19))) + func "curve: M(2) ^ 2" C.sqr 2 + func "curve: M(2 ^ 255 - 19) ^ 2" C.sqr (2 ^ 255 - 19) + func "scalar: M(2) ^ 2" S.sqr 2 + func "scalar: M(2 ^ 255 - 19) ^ 2" S.sqr (2 ^ 255 - 19) inv :: Weigh () inv = wgroup "inv" $ do - func "curve: M(2) ^ -1" C.inv - (C.to (W.to 2)) - func "curve: M(2 ^ 255 - 19) ^ -1" C.inv - (C.to (W.to (2 ^ 255 - 19))) - func "scalar: M(2) ^ -1" S.inv - (S.to (W.to 2)) - func "scalar: M(2 ^ 255 - 19) ^ -1" S.inv - (S.to (W.to (2 ^ 255 - 19))) + func "curve: M(2) ^ -1" C.inv 2 + func "curve: M(2 ^ 255 - 19) ^ -1" C.inv (2 ^ 255 - 19) + func "scalar: M(2) ^ -1" S.inv 2 + func "scalar: M(2 ^ 255 - 19) ^ -1" S.inv (2 ^ 255 - 19) redc :: Weigh () redc = wgroup "redc" $ do - func "curve: REDC(M(2), M(2))" - (C.redc (C.to (W.to 2))) - (C.to (W.to 2)) - func "curve: REDC(M(2), M(2 ^ 255 - 19))" - (C.redc (C.to (W.to 2))) - (C.to (W.to (2 ^ 255 - 19))) - func "scalar: REDC(M(2), M(2))" - (S.redc (S.to (W.to 2))) - (S.to (W.to 2)) - func "scalar: REDC(M(2), M(2 ^ 255 - 19))" - (S.redc (S.to (W.to 2))) - (S.to (W.to (2 ^ 255 - 19))) + func "curve: REDC(M(2), M(2))" (C.redc 2) 2 + func "curve: REDC(M(2), M(2 ^ 255 - 19))" (C.redc 2) (2 ^ 255 - 19) + func "scalar: REDC(M(2), M(2))" (S.redc 2) 2 + func "scalar: REDC(M(2), M(2 ^ 255 - 19))" (S.redc 2) (2 ^ 255 - 19) retr :: Weigh () retr = wgroup "retr" $ do - func "curve: RETR(M(2))" C.retr - (C.to (W.to 2)) - func "curve: RETR(M(2 ^ 255 - 19))" C.retr - (C.to (W.to (2 ^ 255 - 19))) - func "scalar: RETR(M(2))" S.retr - (S.to (W.to 2)) - func "scalar: RETR(M(2 ^ 255 - 19))" S.retr - (S.to (W.to (2 ^ 255 - 19))) + func "curve: RETR(M(2))" C.retr 2 + func "curve: RETR(M(2 ^ 255 - 19))" C.retr (2 ^ 255 - 19) + func "scalar: RETR(M(2))" S.retr 2 + func "scalar: RETR(M(2 ^ 255 - 19))" S.retr (2 ^ 255 - 19)