Safe Haskell | None |
---|---|
Language | Haskell98 |
- 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
- (&*&) :: (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
- scalar :: a -> Scalar 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
Cons a |
(C u, C a b) => C a (T u b) Source # | |
(IsScalar u, C a b) => C a (T u b) Source # | |
Eq a => Eq (T u a) Source # | |
Ord a => Ord (T u a) Source # | |
(C u, Show a) => Show (T u a) Source # | |
NFData a => NFData (T u a) Source # | |
(C u, Random a) => Random (T u a) Source # | |
(C u, C a) => C (T u a) Source # | |
(IsScalar u, C a) => C (T u a) Source # | |
(IsScalar u, C a) => C (T u a) Source # | |
fromNumber :: a -> Scalar a Source #
fromNumberWithDimension :: C u => u -> a -> T u a Source #
toNumberWithDimension :: C u => u -> T u a -> a Source #
Example constructors
type Temperature a = T Temperature a Source #
type Information a = T Information a Source #
temperature :: a -> Temperature a Source #
information :: a -> Information a Source #