From 9d2b92dbc1d9e221ce180497cd7d04e0757650a9 Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Fri, 15 Jun 2018 14:31:21 +0200 Subject: Split gftest to a new repo --- src/tools/gftest/EqRel.hs | 32 -------------------------------- 1 file changed, 32 deletions(-) delete mode 100644 src/tools/gftest/EqRel.hs (limited to 'src/tools/gftest/EqRel.hs') diff --git a/src/tools/gftest/EqRel.hs b/src/tools/gftest/EqRel.hs deleted file mode 100644 index 823900ae0..000000000 --- a/src/tools/gftest/EqRel.hs +++ /dev/null @@ -1,32 +0,0 @@ -module EqRel where - -import qualified Data.Map as M -import Data.List ( sort ) - -data EqRel a = Top | Classes [[a]] deriving (Eq,Ord,Show) - -(/\) :: (Ord a) => EqRel a -> EqRel a -> EqRel a -Top /\ r = r -r /\ Top = r -Classes xss /\ Classes yss = Classes $ sort $ map sort $ concat -- maybe throw away singleton lists? - [ M.elems tabXs - | xs <- xss - , let tabXs = M.fromListWith (++) - [ (tabYs M.! x, [x]) - | x <- xs ] - ] - - where - tabYs = M.fromList [ (y,representative) - | ys <- yss - , let representative = head ys - , y <- ys ] - -basic :: (Ord a) => [a] -> EqRel Int -basic xs = Classes $ sort $ map sort $ M.elems $ M.fromListWith (++) - [ (x,[i]) | (x,i) <- zip xs [0..] ] - -rep :: EqRel Int -> Int -> Int -rep Top j = 0 -rep (Classes xss) j = head [ head xs | xs <- xss, j `elem` xs ] - -- cgit v1.2.3