[flip meet and join a few places they were reversed. get rid of special cases that don't help much
John Meacham <john@repetae.net>**20070301060237] hunk ./Util/UnionSolve.hs 37
-
-
-
hunk ./Util/UnionSolve.hs 164
+                    mapM_ (v `greaterThen`) (Set.toList lb)
+                    mapM_ (v `lessThen`)    (Set.toList ub)
hunk ./Util/UnionSolve.hs 167
-                    case (isBottom v,isTop v) of
-                        (True,_) -> do
-                            mapM_ (unifyTo Lower xe) (Set.toList lb)
-                        (_,True) -> do
-                            mapM_ (unifyTo Upper xe) (Set.toList ub)
-                        _ -> do
-                            mapM_ (\lb -> v `greaterThen` lb) (Set.toList lb)
-                            mapM_ (\ub -> v `lessThen` ub) (Set.toList ub)
-                            --when (Just v `nem` mu) $ mapM_ (\lb -> v `greaterThen` lb) (Set.toList lb)
-                            --when (Just v `nem` ml) $ mapM_ (\ub -> v `lessThen` ub) (Set.toList ub)
hunk ./Util/UnionSolve.hs 173
-        unifyTo d xe ye = do
-            xe <- find xe
-            ye <- find ye
-            putLog $ "unifying to " ++ show (xe,ye)
-            when (xe /= ye) $ do
-                yw <- UF.getW ye
-                UF.union const xe ye
-                mapM_ (unifyTo d xe) (Set.toList (getBounds d yw))
hunk ./Util/UnionSolve.hs 185
-                    doUpdate (Ri ml lb (mjoin (Just v) mu) ub) xe
+                    doUpdate (Ri ml lb (mmeet (Just v) mu) ub) xe
hunk ./Util/UnionSolve.hs 192
-                R c | v `lte` c -> do putLog "already set and is lower"; return ()
+                R c | v `lte` c -> do return ()
hunk ./Util/UnionSolve.hs 194
-                Ri (Just n) _ _ _ |  v `lte` n -> do putLog "already less than lower bound";  return ()
+                Ri (Just n) _ _ _ |  v `lte` n -> do return ()
hunk ./Util/UnionSolve.hs 196
-                    doUpdate (Ri (mmeet (Just v) ml) lb mu ub) xe
+                    doUpdate (Ri (mjoin (Just v) ml) lb mu ub) xe
hunk ./Util/UnionSolve.hs 229
-                            updateW (const (Ri xml xlb (mjoin ymu xmu) (Set.delete xe $ Set.insert ye xub))) xe
-                            updateW (const (Ri (mmeet yml xml) (Set.delete ye $ Set.insert xe ylb) ymu yub)) ye
+                            updateW (const (Ri xml xlb (mmeet ymu xmu) (Set.delete xe $ Set.insert ye xub))) xe
+                            updateW (const (Ri (mjoin yml xml) (Set.delete ye $ Set.insert xe ylb) ymu yub)) ye
hunk ./Util/UnionSolve.hs 246
-                    let nml = xml `mmeet` yml
-                        nmu = xmu `mjoin` ymu
+                    let nml = xml `mjoin` yml
+                        nmu = xmu `mmeet` ymu
hunk ./Util/UnionSolve.hs 251
---                    updateW (\_ -> Ri nml (Set.delete xe nlb) nmu (Set.delete xe nub)) xe
---                    case (nml,nmu) of
---                        (Just x,Just y) | x `eq` y -> xe `setValue` x
---                                        | y `lte` x -> fail "equal not equal"
---                        _ -> return ()
---                (Ri xml xlb xmu xub,R c) -> do xe `setValue` c
---                (R c,Ri xml xlb xmu xub) -> do xe `setValue` c
---                (R c1,R c2) | c1 `eq` c2 -> return ()
---                _ -> fail $ "error: " ++ show (xw,yw)
hunk ./Util/UnionSolve.hs 273
-    --mapM rr cs