float-binstring-0.2: C99 printf "%a" style formatting and parsing

Maintainerme@lelf.lu
Safe HaskellTrustworthy

Data.Float.BinString

Description

This module contains functions for formatting and parsing floating point values as C99 printf/scanf functions with format string %a do.

The format is [-]0xh.hhhhhpddd, where h.hhhhh is significand as a hexadecimal floating-point number and ±dd is exponent as a decimal number. Significand has as many digits as needed to exactly represent the value, fractional part may be ommitted.

Infinity and NaN values are represented as ±in and nan accordingly.

For example, (π ∷ Double) = 0x1.921fb54442d18p+1 (exactly).

This assertion holds (assuming NaN ≡ NaN)

∀x. Just x ≡ readFloat (showFloat x)

Floating point radix is assumed to be 2.

Synopsis

Documentation

readFloat :: RealFloat a => Text -> Maybe aSource

Parse a value from Text.

showFloat :: RealFloat a => a -> TextSource

Format a value. Will provide enough digits to reconstruct the value exactly.

floatBuilder :: RealFloat a => a -> BuilderSource

A Builder for a value

readFloatStr :: RealFloat a => String -> Maybe aSource

Deprecated: use readFloat

showFloatStr :: RealFloat a => a -> StringSource

Deprecated: use showFloat