Utilities for dealing with IEEE floating point numbers

Version on this page:0.8.0
LTS Haskell 13.21:0.8.0
Stackage Nightly 2019-05-18:0.8.0
Latest on Hackage:0.8.0

See all snapshots ieee754 appears in

BSD-3-Clause licensed by Patrick Perry
Maintained by Patrick Perry

Module documentation for 0.8.0

There are no documented modules for this package.

Utilities for dealing with IEEE floating point numbers, ported from the Tango math library; approximate and exact equality comparisons for general types.


Changes in 0.8.0:

* Daniel Mendler added minDenormal.

Changes in 0.7.9:

* Rename nextup/nextdown to ieeesucc/ieeepred to avoid clashes with
libm functions (fixes issue #15, reported by @clinty)

Changes in 0.7.8:

* Alain O'Dea fixed broken illumos build.

* Simplified endianness detection in C code.

Changes in 0.7.7:

* Johan Kiviniemi added tests for minNormal, maxFinite, epsilon,

Changes in 0.7.6:

* Fix broken windows build.

Changes in 0.7.5:

* Added more robust check for endianness (related to issue #5, reported by @juricast).

Changes in 0.7.4:

* Add C implementation of copysign, copysignf

* Remove libm dependency

* Anders Kaseorg fixed documentation for epsilon.

Changes in 0.7.3:

* Bugfix from Björn Buckwalter: any two negative values were approxEqIEEE

Changes in 0.7.2:

* Fix aliasing warnings in C code

Changes in 0.7.1:

* Rename package from "ieee" to "ieee754"

Changes in 0.7:

* Add IEEE type class with instances for Double, Float, CDouble, and CFloat

* Add functions for getting/setting NaN payloads

* Add succIEEE/predIEEE for advancing up and down the IEEE number line
(ported from Tango's nextUp and nextDown)

* Add bisectIEEE for midpoints of two numbers on the IEEE number line
(ported from Tango's ieeeMean)

* Add identicalIEEE for exact (bitwise) equality of IEEE numbers

* Add copySign for setting the sign bit of an IEEE number

* Add sameSignificandBits for seeing how many significand bits of two
IEEE numbers agree, ported from Tango's feqrel

* Add nan, infinity, maxFinite, minNormal constants for IEEE numbers

* Add maxNum and minNum

* Rename maxF and minF to maxNaN and minNaN

* Switch to a simpler "~==" comparison for complex numbers

* Make "~==" comparison use sameSignificandBits for IEEE types

* Make "===" comparison use bitwise equality for IEEE types

* Remove old "eqRel" comparisons.

* Remove old epsilon' and delta constants

* Remove (RealFloat a) => AEq (Complex a) instance in favor of explicit
instances for Complex {Double,Float,CDouble,CFloat}

Changes in 0.6.1:

* Remove AEq instance for CLDouble (thanks to Bjorn Buckwalter)
comments powered byDisqus