changelog:
0.3.3.5
* 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.
changelog:
0.3.3.4
* Relax upper version bounds of base and deepseq
for the test suite and benchmarks.
0.3.3.3
* Add support for `deepseq-1.4`.
0.3.3.2
* Fix parsing of empty digit string (#21).
changelog:
0.3.3.0
* Add the isFloating or isInteger predicates.
Courtesy of Zejun Wu (@watashi).
* Add the toRealFloat' and toBoundedInteger functions.
Courtesy of Fujimura Daisuke (@fujimura).
0.3.2.2
* Enable package to link with integer-simple instead of
integer-gmp using the -finteger-simple cabal flag.
Courtesy of @k0ral.
0.3.2.1
* 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.
0.3.2.0
* 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)
0.3.1.0
* 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)
0.3.0.2
* Lower the minimal QuickCheck version.
* Make sure sized exponents are generated in the QuickCheck tests.
0.3.0.1
* Fix build for bytestring-0.10.0.*
0.3.0.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
packaged for wip.
A Scientific number is an arbitrary-precision floating-point number
represented using scientific notation.
A scientific number with coefficient c and base10Exponent e corresponds to
the Fractional number: fromInteger c * 10 ^^ e
Its primary use-case is to serve as the target of parsing floating point
numbers. Since the textual representation of floating point numbers use
scientific notation they can be efficiently parsed to a Scientific number.