X-Git-Url: https://mattmccutchen.net/match/match.git/blobdiff_plain/d3852a832757336acb3a7cb26c8b274b6c3f5357..578d7d9809c18a096bb1c9a31125abccb79be782:/program/TestUtils.hs diff --git a/program/TestUtils.hs b/program/TestUtils.hs index 8bc1e32..60b6f62 100644 --- a/program/TestUtils.hs +++ b/program/TestUtils.hs @@ -34,21 +34,22 @@ flowAnnotate g fa = (n1, n2, REdgeF i ca (fa ! i) co)) $ labEdges g) :: Gr () REdgeF showInstanceAsGraph :: PMInstance -> PMatching -> Gr String String -showInstanceAsGraph (PMInstance numRvrs numProps rloadA prefA expA) (PMatching matchedPairs) = +showInstanceAsGraph (PMInstance numRvrs numProps rloadA prefA expA fixA pnrA) (PMatching matchedPairs) = let rvrNode i = i propNode j = numRvrs + j numNodes = numRvrs + numProps theNodes = map (\i -> (rvrNode i, "R#" ++ show i ++ " (RLoad " ++ show (rloadA ! i) ++ ")")) [0..numRvrs-1] ++ - map (\j -> (propNode j, "P#" ++ show j)) [0..numProps-1] + map (\j -> (propNode j, "P#" ++ show j ++ "[" ++ show (pnrA ! j) ++ "]")) [0..numProps-1] parenthesizeIf False s = s parenthesizeIf True s = "(" ++ s ++ ")" theEdges = do i <- [0..numRvrs-1] j <- [0..numProps-1] return (rvrNode i, propNode j, - parenthesizeIf (elem (i, j) matchedPairs) $ show (prefA ! (i, j)) ++ ":" ++ show (expA ! (i, j))) + parenthesizeIf (elem (i, j) matchedPairs) $ + show (prefA ! (i, j)) ++ ":" ++ show (expA ! (i, j)) ++ (if fixA ! (i, j) then "*" else "")) in mkGraph theNodes theEdges goFile :: String -> IO ()