
Simon Peyton-Jones schrieb:
| > #4101: constant folding for (**) | > #3676: realToFrac conversions | > #3744: comparisons against minBound and maxBound are not optimised away | > #3065: quot is sub-optimal | > #2269: Word type to Double or Float conversions | > #2271: floor, ceiling, round :: Double -> Int are awesomely slow | > #1434: slow conversion Double to Int | | For the rounding issue I have already written some code for numeric-prelude: | http://code.haskell.org/numeric-prelude/src/Algebra/RealRing.hs
Great. I'm not sure which ticket you are referring to, but if you could propose a patch, by email to the libraries list, that would be great
I'm referring to tickets #2271 and #1434. I implemented round, truncate, floor, ceiling with Int result in terms of double2Int and friends and added RULES for decomposing, e.g. round :: Double -> Int16 into (fromIntegral :: Int -> Int16) . (round :: Double -> Int) However my code is adapted to NumericPrelude's type classes and must be adapted to those of Haskell98's Prelude. This should not be too hard. I'll try to create a patch, however I may need some assistance compiling base libraries. Henning