packages feed

geomancy-0.4.0.0: bench/Main.hs

module Main (main) where

import Test.Tasty.Bench (Benchmark, bcompare, defaultMain, locateBenchmark, mapLeafBenchmarks)
import Test.Tasty.Patterns.Printer (printAwkExpr)

import qualified Bench.DMat4
import qualified Bench.DQuaternion
import qualified Bench.Mat4
import qualified Bench.Quaternion

main :: IO ()
main = defaultMain $ map (mapLeafBenchmarks vsLinear)
  [ Bench.Mat4.benchmarks
  , Bench.DMat4.benchmarks
  , Bench.Quaternion.benchmarks
  , Bench.DQuaternion.benchmarks
  ]

vsLinear :: [String] -> Benchmark -> Benchmark
vsLinear ("geomancy" : path) = bcompare (printAwkExpr $ locateBenchmark ("linear" : path))
vsLinear _ = id