Changelog for scientific- * Added fromRationalRepetend & toRationalRepetend for safely converting from and to rationals which have a repeating decimal representation like: 1 % 28 = 0.03(571428). * Added a Binary instance. * Various performance improvements. * Support vector-0.11 * Support tasty-0.11 * Support criterion- * Support QuickCheck-2.8. * Fixed both the Prelude Data.Scientific> reads "0.0" :: [(Data.Scientific.Scientific,String)] [(0.0,".0"),(0.0,"")] problem and the read " 8" :: Scientific fails, while read " 8" :: Double succeeds problem. Courtesy of neongreen. * Fixed bug in the x / y method for Scientific. Since I was using the default implementation: `x * recip y` the operation would diverge when `recip y` had an infinite decimal output. This shouldn't happen when the result of / is finite again. For example: 0.6 / 0.3 should yield 2.0. This is now fixed by using the following implementation: `x / y = fromRational $ toRational x / toRational y` * Fixed bug when converting the Scientific: `scientific 0 someBigExponent` to a bounded Integral using toBoundedInteger or to a bounded RealFloat using toBoundedRealFloat. If someBigExponent was big enough to trigger the big-exponent protection the beforementioned functions didn't return 0. This is fixed by explicitly handling a coefficient of 0. * Relax upper version bounds of base and deepseq for the test suite and benchmarks. * Add support for `deepseq-1.4`. * Fix parsing of empty digit string (#21). * Allow newer tasty, tasty-hunit and criterion. * Add the isFloating or isInteger predicates. Courtesy of Zejun Wu (@watashi). * Add the toRealFloat' and toBoundedInteger functions. Courtesy of Fujimura Daisuke (@fujimura). * Enable package to link with integer-simple instead of integer-gmp using the -finteger-simple cabal flag. Courtesy of @k0ral. * Parameterize inclusion of the Data.ByteString.Builder.Scientific module using the bytestring-builder flag. Disabling this flag allows building on GHC-7.0.4 which has bytestring-0.9 installed by default. * Add the floatingOrInteger function * Fix build on GHC-7.0.4 * More efficient and better behaving magnitude computation * Lower the number of cached magnitudes to 324 (same as GHC.Float) * Don't normalize on construction but do it when pretty-printing instead. Also provide a manual normalize function. * Improve efficiency of toRealFloat * Added note about caching magnitudes * Dropped dependency on arithmoi * Make benchmark easier to build * Add junit XML output support (for Jenkins) * Lower the minimal QuickCheck version. * Make sure sized exponents are generated in the QuickCheck tests. * Fix build for bytestring-0.10.0.* * Fix a DoS vulnerability that allowed an attacker to crash the process by sending a scientific with a huge exponent like 1e1000000000. * Fix various RealFrac methods. * Cache some powers of 10 to speed up the magnitude computation. * Normalize scientific numbers on construction. * Move the Text Builder to its own module & provide a ByteString builder * Added more documentation * Widen the dreaded pointlessly tight upper bounds * Support the latest versions of smallcheck and tasty * added deriving data * Loosen upper bounds on package versions * Fixed bugs & Changed API * Support building the library on GHC >= 7.0.1 * Simplification in the Show instance * Optimization in fromRealFloat * Initial commit