[project @ 2002-03-02 18:13:18 by sof]
authorsof <unknown>
Sat, 2 Mar 2002 18:13:19 +0000 (18:13 +0000)
committersof <unknown>
Sat, 2 Mar 2002 18:13:19 +0000 (18:13 +0000)
make it work with new libs

spectral/fibheaps/Main.lhs
spectral/hartel/Fast2haskell.hs

index 2a1d819..8c9af02 100644 (file)
@@ -192,11 +192,12 @@ In the first implementation, there are three steps.
 >  let
 >    d = log2 (n-1) -- maximum possible degree
 >
+>    ins :: Ord a => STArray s Int (MyMaybe (Tree a)) -> (Int,Tree a) -> ST s ()
 >    ins a (i, t) =
->        readSTArray a i >>= \e ->
+>        readArray a i >>= \e ->
 >        case e of
->          Zero   -> writeSTArray a i (One t)
->          One t2 -> writeSTArray a i Zero >>
+>          Zero   -> writeArray a i (One t)
+>          One t2 -> writeArray a i Zero >>
 >                    ins a (i+1, link t t2)
 
 Note that after inserting all the trees, the array contains trees
@@ -205,7 +206,7 @@ highest order bit of n-1 is one, we know that there is a tree in
 the highest slot of the array.
 
 >    getMin a =
->        readSTArray a d >>= \e ->
+>        readArray a d >>= \e ->
 >        case e of
 >          Zero  -> error "must be One" -- since array is filled as bits of n-1
 >          One t -> getMin' a d t EmptyBag 0
@@ -213,7 +214,7 @@ the highest slot of the array.
 >        if i >= d then
 >          return ((mini, mint),b)
 >        else
->          readSTArray a i >>= \e ->
+>          readArray a i >>= \e ->
 >          case e of
 >            Zero  -> getMin' a mini mint b (i+1)
 >            One t -> if root mint <= root t then
@@ -222,7 +223,7 @@ the highest slot of the array.
 >                       getMin' a i t (ConsBag (mini, mint) b) (i+1)
 >            
 >  in 
->    runST (newSTArray (0,d) Zero >>= \a ->
+>    runST (newArray (0,d) Zero >>= \a ->
 >           applyToAll (ins a) f >>
 >           sequence (map (ins a) (getChildren tt)) >>
 >           getMin a >>= \ (tt,f) ->
index f6c9d4c..6e1164e 100644 (file)
@@ -3,7 +3,7 @@
 import GHC.Prim;
 import Data.Complex;
 import Data.Array;
-import GHC.Base ( Int(..) );
+import GHC.Base;
 
 type Complex_type = Complex Double;
 type Array_type b = Array Int b;