maxent-0.6.0.0: bench/Bench.hs
{-# LANGUAGE TupleSections, Rank2Types #-}
module Main where
import Numeric.MaxEnt.Internal
import Criterion.Main
import Criterion
import Criterion.Config
import Data.Monoid
testData :: RealFloat a => ([a], [Constraint a])
testData = ([1,2,3], [average 1.5])
maxent' :: (forall a. RealFloat a => ([a], [Constraint a])) -- ^ A pair of values that the distributions is over and the constraints
-> [Double]
maxent' xs = (\(Right x) -> x) $ maxent 0.00001 xs
test1 :: (forall a. RealFloat a => ([a], [Constraint a])) -> Pure
test1 x = nf maxent' x
myConfig = defaultConfig { cfgReport = Last $ Just "profile.html" ,
cfgSamples = Last $ Just 100}
main = defaultMainWith myConfig (return ()) [
bgroup "moment" [
bench "moment1" $ test1 testData
]
]