| 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
 - 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
divMod' :: (Real a, Integral b) => a -> a -> (b, a) #
generalisation of divMod to any instance of Real
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 #
Minimal complete definition
Methods
resolution :: p a -> Integer #
Instances
showFixed :: HasResolution a => Bool -> Fixed a -> String #
First arg is whether to chop off trailing zeros
Instances
Instances
Instances
Instances
Instances
Instances
Instances