From e5efd90bc3eb9145de1e6b34da154a19841671d9 Mon Sep 17 00:00:00 2001 From: Filip Gralinski Date: Sat, 7 Sep 2019 12:34:45 +0200 Subject: [PATCH] Refactor - introducte Probability file --- geval.cabal | 1 + src/GEval/ProbList.hs | 19 +------------------ src/GEval/Probability.hs | 21 +++++++++++++++++++++ 3 files changed, 23 insertions(+), 18 deletions(-) create mode 100644 src/GEval/Probability.hs diff --git a/geval.cabal b/geval.cabal index 775b386..7d4ab43 100644 --- a/geval.cabal +++ b/geval.cabal @@ -26,6 +26,7 @@ library , GEval.PrecisionRecall , GEval.ClusteringMetrics , GEval.Common + , GEval.Probability , GEval.LogLossHashed , GEval.CharMatch , GEval.LineByLine diff --git a/src/GEval/ProbList.hs b/src/GEval/ProbList.hs index e5ad52c..af07138 100644 --- a/src/GEval/ProbList.hs +++ b/src/GEval/ProbList.hs @@ -7,24 +7,7 @@ module GEval.ProbList import qualified Data.Text as T import GEval.Common - - -newtype Probability = P { getP :: Double } - deriving (Eq,Ord,Show) - -isProbability :: Double -> Bool -isProbability p = 0.0 <= p && p <= 1.0 - -mkProbability :: Double -> Probability -mkProbability p - | isProbability p = P p - | otherwise = error $ show p ++ " is not in [0, 1]" - -probabilityOne :: Probability -probabilityOne = mkProbability 1.0 - -probabilityZero :: Probability -probabilityZero = mkProbability 0.0 +import GEval.Probability data ProbList = ProbList [WordWithProb] deriving (Show) diff --git a/src/GEval/Probability.hs b/src/GEval/Probability.hs new file mode 100644 index 0000000..fac462e --- /dev/null +++ b/src/GEval/Probability.hs @@ -0,0 +1,21 @@ + +module GEval.Probability + (Probability, getP, isProbability, mkProbability, probabilityOne, probabilityZero) + where + +newtype Probability = P { getP :: Double } + deriving (Eq, Ord, Show) + +isProbability :: Double -> Bool +isProbability p = 0.0 <= p && p <= 1.0 + +mkProbability :: Double -> Probability +mkProbability p + | isProbability p = P p + | otherwise = error $ show p ++ " is not in [0, 1]" + +probabilityOne :: Probability +probabilityOne = mkProbability 1.0 + +probabilityZero :: Probability +probabilityZero = mkProbability 0.0