[FEAT] Adding Visio micro-service (Jitsi)
[gargantext.git] / src / Gargantext / Core / Text / Metrics / TFICF.hs
index 1abd514a9e2368decfa273b4c9e2134821f155ca..e4fcae5624aaf8876ad4628cc37f9da5913d7db5 100644 (file)
@@ -23,13 +23,12 @@ module Gargantext.Core.Text.Metrics.TFICF ( TFICF
                                      )
   where
 
+import Data.Map.Strict (Map, toList)
 import Data.Text (Text)
-import Gargantext.Prelude
-import Data.Set (Set)
 import Gargantext.Core.Types (Ordering(..))
-import Data.Map.Strict (Map, toList)
-import qualified Data.Ord as DO (Down(..))
+import Gargantext.Prelude
 import qualified Data.List as List
+import qualified Data.Ord as DO (Down(..))
 
 path :: Text
 path = "[G.T.Metrics.TFICF]"
@@ -48,14 +47,17 @@ tficf :: TficfContext Count Total
       -> TFICF
 tficf (TficfInfra (Count ic) (Total it) )
       (TficfSupra (Count sc) (Total st) )
-            | it >= ic && st >= sc {-&& it <= st-} = (ic/it) / log (sc/st)
-            | otherwise            = panic $ "[ERR]" <> path <>" Frequency impossible"
+            | it >= ic && st >= sc && it <= st = (it/ic) * log (st/sc)
+            | otherwise                        = panic
+                                               $ "[ERR]"
+                                               <> path
+                                               <> " Frequency impossible"
 tficf _ _ = panic $ "[ERR]" <> path <> "Undefined for these contexts"
 
 
 sortTficf :: Ordering
-          -> (Map Text (Double, Set Text))
-          -> [   (Text,(Double, Set Text))]
-sortTficf Down = List.sortOn (DO.Down . fst . snd) . toList
-sortTficf Up   = List.sortOn (fst . snd) . toList
+          -> Map Text Double
+          -> [(Text, Double)]
+sortTficf Down = List.sortOn (DO.Down . snd) . toList
+sortTficf Up   = List.sortOn snd . toList