-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Non IEEE-754 compliant compile-time floating-point optimisations -- -- The Numeric.FastMath module brings into scope RULES for -- Floats and Doubles that rewrite x-x, -- 0*x and x*0 to 0. This disagrees with -- IEEE-754 when x is NaN, but is acceptable for most -- applications. -- -- Importing Numeric.FastMath.Infinitesimal also rewrites -- 0/x to 0. -- -- Optimisation (at least -O1) must be enabled for any RULES to -- take effect. @package fast-math @version 0.1 -- | Also rewrite 0/x to +0, which should really be -- -0 for negative x. module Numeric.FastMath.Infinitesimal -- | Compile-time optimisations for Float and Double that -- break IEEE-754 compatibility. -- -- Namely, this otherwise empty module contains RULES that rewrite -- x-x, x*0 and 0*x to 0, which is -- incorrect (according to IEEE-754) when x is NaN. -- -- At the time of writing, base-4.3.1.0:GHC/Base.lhs erroneously -- includes these rules for Floats, but not for Doubles. -- This has been reported as GHC bug #5178: -- http://hackage.haskell.org/trac/ghc/ticket/5178. module Numeric.FastMath