packages feed

clash-prelude-0.11: benchmarks/benchmark-main.hs

module Main where

import Criterion.Main

import qualified BenchBitVector as BV
import qualified BenchFixed     as F
import qualified BenchSigned    as S

main :: IO ()
main =
  defaultMain
  [
    bgroup "BitVector"
        [ BV.addBench
        , BV.negateBench
        , BV.subBench
        , BV.multBench
        , BV.plusBench
        , BV.minusBench
        , BV.timesBench
        , BV.boundedPlusBench
        , BV.boundedMinBench
        , BV.boundedMultBench
        , BV.msbBench
        , BV.msbBenchL
        , BV.appendBench
        , BV.appendBenchL
        , BV.splitBench
        , BV.splitBenchL
        ]
  , bgroup "Signed"
        [ S.fromIntegerBench
        , S.addBench
        , S.negateBench
        , S.absBench
        , S.subBench
        , S.multBench
        , S.plusBench
        , S.minusBench
        , S.timesBench
        , S.packBench
        , S.unpackBench
        ]
  , bgroup "Fixed"
        [ F.fromRationalBench
        , F.addBench
        , F.subBench
        , F.multBench
        , F.multBench_wrap
        ]
  ]