sparse-linear-algebra-0.3.1: Numerical computing in native Haskell

Copyright(C) 2016 Marco Zocca 2012-2015 Edward Kmett
LicenseGPL-3 (see LICENSE)
Maintainerzocca.marco gmail
Stabilityprovisional
Portabilityportable
Safe HaskellSafe
LanguageHaskell2010

Numeric.Eps

Description

Testing for values "near" zero

Synopsis

Documentation

class (Floating a, Num a) => Epsilon a where #

Provides a test to see if a quantity is near zero.

>>> nearZero (1e-11 :: Double)
False
>>> nearZero (1e-17 :: Double)
True
>>> nearZero (1e-5 :: Float)
False
>>> nearZero (1e-7 :: Float)
True

Minimal complete definition

nearZero

Methods

nearZero :: a -> Bool #

Determine if a quantity is near zero.

Instances
Epsilon Double #
abs a <= 1e-12
Instance details

Defined in Numeric.Eps

Methods

nearZero :: Double -> Bool #

Epsilon Float #
abs a <= 1e-6
Instance details

Defined in Numeric.Eps

Methods

nearZero :: Float -> Bool #

Epsilon CFloat #
abs a <= 1e-6
Instance details

Defined in Numeric.Eps

Methods

nearZero :: CFloat -> Bool #

Epsilon CDouble #
abs a <= 1e-12
Instance details

Defined in Numeric.Eps

Methods

nearZero :: CDouble -> Bool #

Epsilon (Complex Double) #
magnitude a <= 1e-12
Instance details

Defined in Numeric.Eps

Epsilon (Complex Float) #
magnitude a <= 1e-6
Instance details

Defined in Numeric.Eps

Methods

nearZero :: Complex Float -> Bool #

Epsilon (Complex CFloat) #
magnitude a <= 1e-6
Instance details

Defined in Numeric.Eps

Epsilon (Complex CDouble) #
magnitude a <= 1e-12
Instance details

Defined in Numeric.Eps

isNz :: Epsilon a => a -> Bool #

Is this quantity distinguishable from 0 ?

roundZero :: Epsilon a => a -> a #

roundOne :: Epsilon a => a -> a #

roundZeroOne :: Epsilon a => a -> a #

Round to respectively 0 or 1

nearOne :: Epsilon a => a -> Bool #

Is this quantity close to 1 ?