fp-ieee: IEEE 754-2019 compliant operations

[ bsd3, library, math, numeric ] [ Propose Tags ]

Please see the README on GitHub at https://github.com/minoki/haskell-floating-point/tree/master/fp-ieee#readme


[Skip to Readme]
Versions [faq] 0.1.0, 0.1.0.1
Change log ChangeLog.md
Dependencies base (>=4.12 && <5), ghc-bignum (==1.0.*), integer-gmp (==1.0.*), integer-logarithms (>=1 && <1.1) [details]
License BSD-3-Clause
Copyright 2020-2021 ARATA Mizuki
Author ARATA Mizuki
Maintainer minorinoki@gmail.com
Category Numeric, Math
Home page https://github.com/minoki/haskell-floating-point#readme
Bug tracker https://github.com/minoki/haskell-floating-point/issues
Source repo head: git clone https://github.com/minoki/haskell-floating-point
Uploaded by aratamizuki at 2021-01-02T06:35:17Z
Distributions NixOS:0.1.0.1
Downloads 33 total (33 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs uploaded by user
Build status unknown [no reports yet]

Modules

[Index] [Quick Jump]

Flags

NameDescriptionDefaultType
f16c

Use F16C instructions on x86

DisabledManual
float128

Support Float128 via float128 package

DisabledManual
fma3

Use FMA3 instructions on x86

DisabledManual
ghc-bignum

Use ghc-bignum package

EnabledAutomatic
half

Support Half (float16) via half package

DisabledManual
integer-gmp

Use integer-gmp package

EnabledAutomatic
pure-hs

Disable FFI

DisabledManual
sse4_1

Use SSE4.1 instructions on x86

DisabledManual

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainer's Corner

For package maintainers and hackage trustees


Readme for fp-ieee-0.1.0.1

[back to package description]

fp-ieee: IEEE 754 operations for floating-point types

This library provides IEEE 754-compliant operations, including

  • fusedMultiplyAdd.
  • correctly-rounding versions of fromInteger.
  • realFloatToFrac, which correctly handles signed zeros, infinities, and NaNs (unlike realToFrac).

Some operations (e.g. fusedMultiplyAdd) can make use of the native instruction in the architecture.

For non-native targets, "Pure Haskell" mode is supported via a package flag.

Most operations require only RealFloat constraint, but RealFloatNaN is needed by some operations that access the sign and payload of NaNs.