Main changes relating percentage feature
This commit is contained in:
parent
32290d3715
commit
1010902baa
26
app/Main.hs
26
app/Main.hs
@ -70,7 +70,7 @@ getHeader params schemes = Just $ intercalate "\t" (Prelude.map T.unpack params
|
|||||||
|
|
||||||
formatTableEntry :: GEvalOptions -> [T.Text] -> ((SourceSpec, [MetricResult]), OutputFileParsed) -> String
|
formatTableEntry :: GEvalOptions -> [T.Text] -> ((SourceSpec, [MetricResult]), OutputFileParsed) -> String
|
||||||
formatTableEntry opts paramNames ((sourceSpec, metrics), ofParsed) = intercalate "\t" ((initialColumns paramNames sourceSpec ofParsed) ++ vals)
|
formatTableEntry opts paramNames ((sourceSpec, metrics), ofParsed) = intercalate "\t" ((initialColumns paramNames sourceSpec ofParsed) ++ vals)
|
||||||
where vals = Prelude.map (formatTheResult (gesPrecision $ geoSpec opts)) metrics
|
where vals = Prelude.map (formatTheResult (gesFormatting $ geoSpec opts)) metrics
|
||||||
|
|
||||||
initialColumns :: [T.Text] -> SourceSpec -> OutputFileParsed -> [String]
|
initialColumns :: [T.Text] -> SourceSpec -> OutputFileParsed -> [String]
|
||||||
initialColumns [] sourceSpec ofParsed = [formatSourceSpec sourceSpec]
|
initialColumns [] sourceSpec ofParsed = [formatSourceSpec sourceSpec]
|
||||||
@ -79,35 +79,35 @@ initialColumns params sourceSpec (OutputFileParsed _ paramMap) =
|
|||||||
|
|
||||||
showTheResult' :: GEvalOptions -> [MetricResult] -> IO ()
|
showTheResult' :: GEvalOptions -> [MetricResult] -> IO ()
|
||||||
-- do not show the metric if just one was given
|
-- do not show the metric if just one was given
|
||||||
showTheResult' opts [val] = putStrLn $ formatTheResult (gesPrecision $ geoSpec opts) val
|
showTheResult' opts [val] = putStrLn $ formatTheResult (gesFormatting $ geoSpec opts) val
|
||||||
showTheResult' opts [] = do
|
showTheResult' opts [] = do
|
||||||
hPutStrLn stderr "no metric given, use --metric option"
|
hPutStrLn stderr "no metric given, use --metric option"
|
||||||
exitFailure
|
exitFailure
|
||||||
showTheResult' opts vals = mapM_ putStrLn
|
showTheResult' opts vals = mapM_ putStrLn
|
||||||
$ intercalate [""]
|
$ intercalate [""]
|
||||||
$ Prelude.map (formatCrossTable (gesPrecision $ geoSpec opts))
|
$ Prelude.map (formatCrossTable (gesFormatting $ geoSpec opts))
|
||||||
$ splitIntoTablesWithValues (T.pack "metric") (T.pack "value") mapping metricLabels
|
$ splitIntoTablesWithValues (T.pack "metric") (T.pack "value") mapping metricLabels
|
||||||
where mapping = LM.fromList $ zip metricLabels vals
|
where mapping = LM.fromList $ zip metricLabels vals
|
||||||
metricLabels = Prelude.map T.pack $ Prelude.map evaluationSchemeName $ gesMetrics $ geoSpec opts
|
metricLabels = Prelude.map T.pack $ Prelude.map evaluationSchemeName $ gesMetrics $ geoSpec opts
|
||||||
|
|
||||||
formatCrossTable :: Maybe Int -> TableWithValues MetricResult -> [String]
|
formatCrossTable :: FormattingOptions -> TableWithValues MetricResult -> [String]
|
||||||
formatCrossTable mPrecision (TableWithValues [_, _] body) =
|
formatCrossTable format (TableWithValues [_, _] body) =
|
||||||
-- actually we won't print metric/value header
|
-- actually we won't print metric/value header
|
||||||
-- (1) to keep backward-compatible with the previous version
|
-- (1) to keep backward-compatible with the previous version
|
||||||
-- (2) to be concise
|
-- (2) to be concise
|
||||||
Prelude.map (formatCrossTableLine mPrecision) body
|
Prelude.map (formatCrossTableLine format) body
|
||||||
formatCrossTable mPrecision (TableWithValues header body) =
|
formatCrossTable format (TableWithValues header body) =
|
||||||
(intercalate "\t" $ Prelude.map T.unpack header) : Prelude.map (formatCrossTableLine mPrecision) body
|
(intercalate "\t" $ Prelude.map T.unpack header) : Prelude.map (formatCrossTableLine format) body
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
formatCrossTableLine :: Maybe Int -> (T.Text, [MetricResult]) -> String
|
formatCrossTableLine :: FormattingOptions-> (T.Text, [MetricResult]) -> String
|
||||||
formatCrossTableLine mPrecision (rowName, values) =
|
formatCrossTableLine format (rowName, values) =
|
||||||
intercalate "\t" ((T.unpack rowName):Prelude.map (formatTheResult mPrecision) values)
|
intercalate "\t" ((T.unpack rowName):Prelude.map (formatTheResult format) values)
|
||||||
|
|
||||||
formatSourceSpec :: SourceSpec -> String
|
formatSourceSpec :: SourceSpec -> String
|
||||||
formatSourceSpec (FilePathSpec fp) = dropExtensions $ takeFileName fp
|
formatSourceSpec (FilePathSpec fp) = dropExtensions $ takeFileName fp
|
||||||
formatSourceSpec spec = show spec
|
formatSourceSpec spec = show spec
|
||||||
|
|
||||||
formatTheMetricAndResult :: Maybe Int -> (EvaluationScheme, MetricResult) -> String
|
formatTheMetricAndResult :: FormattingOptions -> (EvaluationScheme, MetricResult) -> String
|
||||||
formatTheMetricAndResult mPrecision (scheme, val) = (evaluationSchemeName scheme) ++ "\t" ++ (formatTheResult mPrecision val)
|
formatTheMetricAndResult format (scheme, val) = (evaluationSchemeName scheme) ++ "\t" ++ (formatTheResult format val)
|
||||||
|
Loading…
Reference in New Issue
Block a user