Copyright | (c) Ashley Yakeley 2005, 2006, 2009 |
---|---|
License | BSD-style (see the file libraries/base/LICENSE) |
Maintainer | Ashley Yakeley <ashley@semantic.org> |
Stability | experimental |
Portability | portable |
Safe Haskell | Trustworthy |
Language | Haskell2010 |
Data.Fixed
Description
This module defines a "Fixed" type for fixed-precision arithmetic. The parameter to Fixed is any type that's an instance of HasResolution. HasResolution has a single method that gives the resolution of the Fixed type.
This module also contains generalisations of div, mod, and divmod to work with any Real instance.
- div' :: (Real a, Integral b) => a -> a -> b
- mod' :: Real a => a -> a -> a
- divMod' :: (Real a, Integral b) => a -> a -> (b, a)
- newtype Fixed a = MkFixed Integer
- class HasResolution a where
- resolution :: p a -> Integer
- showFixed :: HasResolution a => Bool -> Fixed a -> String
- data E0
- type Uni = Fixed E0
- data E1
- type Deci = Fixed E1
- data E2
- type Centi = Fixed E2
- data E3
- type Milli = Fixed E3
- data E6
- type Micro = Fixed E6
- data E9
- type Nano = Fixed E9
- data E12
- type Pico = Fixed E12
Documentation
newtype Fixed a
The type parameter should be an instance of HasResolution
.
Instances
Enum (Fixed a) | |
Eq (Fixed a) | |
HasResolution a => Fractional (Fixed a) | |
Typeable * a => Data (Fixed a) | |
HasResolution a => Num (Fixed a) | |
Ord (Fixed a) | |
HasResolution a => Read (Fixed a) | |
HasResolution a => Real (Fixed a) | |
HasResolution a => RealFrac (Fixed a) | |
HasResolution a => Show (Fixed a) |
class HasResolution a where
Methods
resolution :: p a -> Integer
showFixed :: HasResolution a => Bool -> Fixed a -> String
First arg is whether to chop off trailing zeros
data E0
Instances
data E1
Instances
data E2
Instances
data E3
Instances
data E6
Instances
data E9
Instances
data E12
Instances