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 [RSS] [faq] 0.1.0, 0.1.0.1, 0.1.0.2
Change log ChangeLog.md
Dependencies base (>=4.12 && <5), ghc-bignum (>=1.0 && <1.3), 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(fp-ieee)
Uploaded by aratamizuki at 2021-11-30T09:35:23Z
Distributions NixOS:0.1.0.1
Downloads 189 total (8 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs available [build log]
Last success reported on 2021-11-30 [all 1 reports]

Modules

[Index] [Quick Jump]

Manual Flags

NameDescriptionDefault
pure-hs

Disable FFI

Disabled
sse4_1

Use SSE4.1 instructions on x86

Disabled
fma3

Use FMA3 instructions on x86

Disabled
f16c

Use F16C instructions on x86

Disabled
float128

Support Float128 via float128 package

Disabled
half

Support Half (float16) via half package

Disabled
Automatic Flags
NameDescriptionDefault
integer-gmp

Use integer-gmp package on GHC 8.x

Enabled
ghc-bignum

Use ghc-bignum package on GHC 9.x

Enabled

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

Candidates


Readme for fp-ieee-0.1.0.2

[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.