Use realToFrac instead of (fromRational . toRational).
commit7d02e7366fd24a01c0b471230e0d77878c8b4ff6
authorBryan O'Sullivan <bos@mailrank.com>
dateThu 7 Jul 2011, 13:20 (15 years ago)
parent9f9d801
Data/Aeson/Types.hs+1−1
@@ -393,7 +393,7 @@ instance FromJSON Number where
393393 {-# INLINE parseJSON #-}
394394
395395instance ToJSON Float where
396− toJSON = Number . fromRational . toRational
396+ toJSON = Number . realToFrac
397397 {-# INLINE toJSON #-}
398398
399399instance FromJSON Float where
benchmarks/AesonEncode.hs+1−1
@@ -39,6 +39,6 @@ main = do
3939 _ -> error $ "failed to read " ++ show arg
4040 loop 0 r
4141 delta <- flip diffUTCTime start `fmap` getCurrentTime
42− let rate = fromIntegral count / (fromRational . toRational) delta :: Double
42+ let rate = fromIntegral count / realToFrac delta :: Double
4343 putStrLn $ " " ++ show delta
4444 putStrLn $ " " ++ show (round rate) ++ " per second"
benchmarks/AesonParse.hs+1−1
@@ -29,5 +29,5 @@ main = do
2929 (good, _) <- loop 0 0
3030 delta <- flip diffUTCTime start `fmap` getCurrentTime
3131 putStrLn $ " " ++ show good ++ " good, " ++ show delta
32− let rate = fromIntegral count / (fromRational . toRational) delta :: Double
32+ let rate = fromIntegral count / realToFrac delta :: Double
3333 putStrLn $ " " ++ show (round rate) ++ " per second"