----------------------------------------------------------------------------- -- | -- Module : BenchSuite.Misc.Enumerate -- Copyright : (c) Jeffrey Young -- Levent Erkok -- License : BSD3 -- Maintainer: erkokl@gmail.com -- Stability : experimental -- -- Bench suite for Documentation.SBV.Examples.Misc.Enumerate ----------------------------------------------------------------------------- {-# OPTIONS_GHC -Wall -Werror #-} {-# LANGUAGE ScopedTypeVariables #-} module BenchSuite.Misc.Enumerate(benchmarks) where import Documentation.SBV.Examples.Misc.Enumerate import BenchSuite.Bench.Bench import Utils.SBVBenchFramework -- benchmark suite benchmarks :: Runner benchmarks = rGroup [ run "Elts" _elts `using` runner allSatWith , run "Four" _four , run "MaxE" _maxE , run "MinE" _minE ] where _elts = \(x::SE) -> x .== x _four = \a b c (d::SE) -> distinct [a, b, c, d] _maxE = do mx <- exists "maxE" e <- forall "e" return $ mx .>= (e::SE) _minE = do mx <- exists "minE" e <- forall "e" return $ mx .<= (e::SE)