| numeric-prelude-0.0.2: An experimental alternative hierarchy of numeric type classes | Contents | Index |
|
Number.DimensionTerm | Portability | portable | Stability | provisional | Maintainer | numericprelude@henning-thielemann.de |
|
|
|
|
|
Description |
See Algebra.DimensionTerm.
|
|
Synopsis |
|
newtype T u a = Cons a | | fromNumber :: a -> Scalar a | | toNumber :: Scalar a -> a | | fromNumberWithDimension :: C u => u -> a -> T u a | | toNumberWithDimension :: C u => u -> T u a -> a | | mapFst :: (a -> c) -> (a, b) -> (c, b) | | (&*&) :: (C u, C v, C a) => T u a -> T v a -> T (Mul u v) a | | (&/&) :: (C u, C v, C a) => T u a -> T v a -> T (Mul u (Recip v)) a | | mulToScalar :: (C u, C a) => T u a -> T (Recip u) a -> a | | divToScalar :: (C u, C a) => T u a -> T u a -> a | | cancelToScalar :: C u => T (Mul u (Recip u)) a -> a | | recip :: (C u, C a) => T u a -> T (Recip u) a | | unrecip :: (C u, C a) => T (Recip u) a -> T u a | | sqr :: (C u, C a) => T u a -> T (Sqr u) a | | sqrt :: (C u, C a) => T (Sqr u) a -> T u a | | abs :: (C u, C a) => T u a -> T u a | | absSignum :: (C u, C a) => T u a -> (T u a, a) | | scale :: (C u, C a) => a -> T u a -> T u a | | (*&) :: (C u, C a) => a -> T u a -> T u a | | rewriteDimension :: (C u, C v) => (u -> v) -> T u a -> T v a | | type Scalar a = T Scalar a | | type Length a = T Length a | | type Time a = T Time a | | type Mass a = T Mass a | | type Charge a = T Charge a | | type Angle a = T Angle a | | type Temperature a = T Temperature a | | type Information a = T Information a | | type Frequency a = T Frequency a | | type Voltage a = T Voltage a | | length :: a -> Length a | | time :: a -> Time a | | mass :: a -> Mass a | | charge :: a -> Charge a | | frequency :: a -> Frequency a | | angle :: a -> Angle a | | temperature :: a -> Temperature a | | information :: a -> Information a | | voltage :: a -> Voltage a |
|
|
|
Number type
|
|
newtype T u a |
Constructors | | Instances | |
|
|
fromNumber :: a -> Scalar a |
|
toNumber :: Scalar a -> a |
|
fromNumberWithDimension :: C u => u -> a -> T u a |
|
toNumberWithDimension :: C u => u -> T u a -> a |
|
mapFst :: (a -> c) -> (a, b) -> (c, b) |
|
(&*&) :: (C u, C v, C a) => T u a -> T v a -> T (Mul u v) a |
|
(&/&) :: (C u, C v, C a) => T u a -> T v a -> T (Mul u (Recip v)) a |
|
mulToScalar :: (C u, C a) => T u a -> T (Recip u) a -> a |
|
divToScalar :: (C u, C a) => T u a -> T u a -> a |
|
cancelToScalar :: C u => T (Mul u (Recip u)) a -> a |
|
recip :: (C u, C a) => T u a -> T (Recip u) a |
|
unrecip :: (C u, C a) => T (Recip u) a -> T u a |
|
sqr :: (C u, C a) => T u a -> T (Sqr u) a |
|
sqrt :: (C u, C a) => T (Sqr u) a -> T u a |
|
abs :: (C u, C a) => T u a -> T u a |
|
absSignum :: (C u, C a) => T u a -> (T u a, a) |
|
scale :: (C u, C a) => a -> T u a -> T u a |
|
(*&) :: (C u, C a) => a -> T u a -> T u a |
|
rewriteDimension :: (C u, C v) => (u -> v) -> T u a -> T v a |
|
Example constructors
|
|
type Scalar a = T Scalar a |
|
type Length a = T Length a |
|
type Time a = T Time a |
|
type Mass a = T Mass a |
|
type Charge a = T Charge a |
|
type Angle a = T Angle a |
|
type Temperature a = T Temperature a |
|
type Information a = T Information a |
|
type Frequency a = T Frequency a |
|
type Voltage a = T Voltage a |
|
length :: a -> Length a |
|
time :: a -> Time a |
|
mass :: a -> Mass a |
|
charge :: a -> Charge a |
|
frequency :: a -> Frequency a |
|
angle :: a -> Angle a |
|
temperature :: a -> Temperature a |
|
information :: a -> Information a |
|
voltage :: a -> Voltage a |
|
Produced by Haddock version 0.7 |