Float package:ghc-internal

Single-precision floating point numbers. It is desirable that this type be at least equal in range and precision to the IEEE single-precision type.
The types Float and Double, the classes Floating and RealFloat and casting between Word32 and Float and Word64 and Double.
a 32-bit floating point number
Trigonometric and hyperbolic functions and related functions. The Haskell Report defines no laws for Floating. However, (+), (*) and exp are customarily expected to define an exponential field and have the following properties:
  • exp (a + b) = exp a * exp b
  • exp (fromInteger 0) = fromInteger 1
1.23#
Truncates a Float# value to the nearest Int#. Results are undefined if the truncation if truncation yields a value outside the range of Int#.
a constant function, returning the number of digits of floatRadix in the significand
a constant function, returning the radix of the representation (often 2)
a constant function, returning the lowest and highest values the exponent may assume
floatToDigits takes a base and a non-negative RealFloat number, and returns a list of digits and an exponent. In particular, if x>=0, and
floatToDigits base x = ([d1,d2,...,dn], e)
then
  1. n >= 1
  2. x = 0.d1d2...dn * (base**e)
  3. 0 <= di <= base-1