elliptic-curve-0.2.1: benchmarks/MontgomeryBenchmarks.hs
module MontgomeryBenchmarks where
import Criterion.Main
import qualified Curve.Montgomery.Curve448 as Curve448
import qualified Curve.Montgomery.Curve25519 as Curve25519
import qualified Curve.Montgomery.Curve383187 as Curve383187
import qualified Curve.Montgomery.M221 as M221
import qualified Curve.Montgomery.M383 as M383
import qualified Curve.Montgomery.M511 as M511
import GroupBenchmarks
benchmarkMontgomery :: Benchmark
benchmarkMontgomery = bgroup "Montgomery"
[ benchmarkMontgomery' "Curve448" Curve448.gA
, benchmarkMontgomery' "Curve25519" Curve25519.gA
, benchmarkMontgomery' "Curve383187" Curve383187.gA
, benchmarkMontgomery' "M221" M221.gA
, benchmarkMontgomery' "M383" M383.gA
, benchmarkMontgomery' "M511" M511.gA
]
where
benchmarkMontgomery' curve affine = bgroup curve
[ benchmark "Affine" affine
]