complexity-0.1: Test/Complexity/Pretty.hs
{-# LANGUAGE RecordWildCards #-}
module Test.Complexity.Pretty ( prettyStats
, printStats
) where
import Text.PrettyPrint
import Text.Printf (printf)
import Test.Complexity.Base ( MeasurementStats(..)
, Sample
, Stats(..)
)
prettyStats :: MeasurementStats -> Doc
prettyStats (MeasurementStats {..}) = text "desc:" <+> text msDesc
$+$ text ""
$+$ vcat (map ppSample msSamples)
where ppSample :: Sample -> Doc
ppSample (x, y) = (text . printf "%3i") x <+> char '|' <+> ppStats y
ppStats (Stats {..}) = int (length statsSamples)
<+> hsep (map (text . printf "%7.3f")
[statsMin, statsMean2, statsMax, statsStdDev]
)
printStats :: [MeasurementStats] -> IO ()
printStats = mapM_ (\s -> do putStrLn . render . prettyStats $ s
putStrLn ""
)