But that also depended on phi defaulting to Double in even_fibs.

To be clearer:

even_fibs :: (Integral t) => [t]
even_fibs = iterate (\x -> round(fromIntegral x * (dp**3))) 2
  where dp :: Double
        dp = phi

The above is equivalent to the previous.

The below uses less precision:


even_fibs' :: (Integral t) => [t]
even_fibs' = iterate (\x -> round(fromIntegral x * (dp**3))) 2
  where dp :: Float
        dp = phi


So it fails earlier:

head $ dropWhile (uncurry (==)) $ zip even_fibs' even_fibs_2
(14930353,14930352)

_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to