Index | index by Group | index by Distribution | index by Vendor | index by creation date | index by Name | Mirrors | Help | Search |
Name: ghc-scientific | Distribution: openSUSE Tumbleweed |
Version: 0.3.7.0 | Vendor: openSUSE |
Release: 1.1 | Build date: Tue Jun 1 11:48:16 2021 |
Group: Unspecified | Build host: armbuild02 |
Size: 360842 | Source RPM: ghc-scientific-0.3.7.0-1.1.src.rpm |
Packager: http://bugs.opensuse.org | |
Url: https://hackage.haskell.org/package/scientific | |
Summary: Numbers represented using scientific notation |
"Data.Scientific" provides the number type 'Scientific'. Scientific numbers are arbitrary precision and space efficient. They are represented using <http://en.wikipedia.org/wiki/Scientific_notation scientific notation>. The implementation uses a coefficient 'c :: 'Integer'' and a base-10 exponent 'e :: 'Int''. A scientific number corresponds to the 'Fractional' number: ''fromInteger' c * 10 '^^' e'. Note that since we're using an 'Int' to represent the exponent these numbers aren't truly arbitrary precision. I intend to change the type of the exponent to 'Integer' in a future release. The main application of 'Scientific' is to be used as the target of parsing arbitrary precision numbers coming from an untrusted source. The advantages over using 'Rational' for this are that: * A 'Scientific' is more efficient to construct. Rational numbers need to be constructed using '%' which has to compute the 'gcd' of the 'numerator' and 'denominator'. * 'Scientific' is safe against numbers with huge exponents. For example: '1e1000000000 :: 'Rational'' will fill up all space and crash your program. Scientific works as expected: >>> read "1e1000000000" :: Scientific 1.0e1000000000 * Also, the space usage of converting scientific numbers with huge exponents to ''Integral's' (like: 'Int') or ''RealFloat's' (like: 'Double' or 'Float') will always be bounded by the target type.
BSD-3-Clause
* Thu May 20 2021 psimons@suse.com - Update scientific to version 0.3.7.0. 0.3.7.0 * Make division (/) on Scientifics slightly more efficient. * Fix the Show instance to surround negative numbers with parentheses when necessary. * Add (Template Haskell) Lift Scientific instance * Mark modules as Safe or Trustworthy (Safe Haskell). * Thu Dec 17 2020 Ondřej Súkup <mimi.vx@gmail.com> - disable %{ix86} build * Tue Aug 18 2020 Peter Simons <psimons@suse.com> - Replace %setup -q with the more modern %autosetup macro. * Tue Jun 16 2020 Peter Simons <psimons@suse.com> - Re-generate file with latest version of spec-cleaner. * Fri Nov 08 2019 Peter Simons <psimons@suse.com> - Drop obsolete group attributes. * Sat Oct 20 2018 Peter Simons <psimons@suse.com> - Use https URL to refer to bugs.opensuse.org. * Wed Jul 18 2018 psimons@suse.com - Cosmetic: replace tabs with blanks, strip trailing white space, and update copyright headers with spec-cleaner. * Mon May 14 2018 psimons@suse.com - Update scientific to version 0.3.6.2. * Due to a regression introduced in 0.3.4.14 the RealFrac methods and floatingOrInteger became vulnerable to a space blowup when applied to scientifics with huge exponents. This has now been fixed again. * Fix build on GHC < 8. * Make the methods of the Hashable, Eq and Ord instances safe to use when applied to scientific numbers coming from untrusted sources. Previously these methods first converted their arguments to Rational before applying the operation. This is unsafe because converting a Scientific to a Rational could fill up all space and crash your program when the Scientific has a huge base10Exponent. Do note that the hash computation of the Hashable Scientific instance has been changed because of this improvement! Thanks to Tom Sydney Kerckhove (@NorfairKing) for pushing me to fix this. * fromRational :: Rational -> Scientific now throws an error instead of diverging when applied to a repeating decimal. This does mean it will consume space linear in the number of digits of the resulting scientific. This makes "fromRational" and the other Fractional methods "recip" and "/" a bit safer to use. * To get the old unsafe but more efficient behaviour the following function was added: unsafeFromRational :: Rational -> Scientific. * Add alternatives for fromRationalRepetend: fromRationalRepetendLimited :: Int -- ^ limit - > Rational - > Either (Scientific, Rational) (Scientific, Maybe Int) and: fromRationalRepetendUnlimited :: Rational -> (Scientific, Maybe Int) Thanks to Ian Jeffries (@seagreen) for the idea. * Dropped upper version bounds of dependencies because it's to much work to maintain. * Tue Jul 11 2017 psimons@suse.com - Update to version 0.3.5.1. * Mon Jul 03 2017 psimons@suse.com - Update to version 0.3.4.15 revision 2.
/usr/lib/ghc-8.10.4/scientific-0.3.7.0 /usr/lib/ghc-8.10.4/scientific-0.3.7.0/libHSscientific-0.3.7.0-8QndyvFsLrw66EBNvmVL2c-ghc8.10.4.so /usr/share/licenses/ghc-scientific /usr/share/licenses/ghc-scientific/LICENSE
Generated by rpm2html 1.8.1
Fabrice Bellet, Thu Mar 27 23:42:07 2025