numeric-prelude-0.1.3: An experimental alternative hierarchy of numeric type classesSource codeContentsIndex
Number.DimensionTerm
Portabilityportable
Stabilityprovisional
Maintainernumericprelude@henning-thielemann.de
Contents
Number type
Example constructors
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
(&*&) :: (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)
(*&) :: (C u, C a) => a -> T u a -> T u a
scale :: (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
newtype T u a Source
Constructors
Cons a
show/hide Instances
(C u, C a b) => C a (T u b)
(IsScalar u, C a b) => C a (T u b)
Eq a => Eq (T u a)
Ord a => Ord (T u a)
(C u, Show a) => Show (T u a)
(C u, Random a) => Random (T u a)
(C u, C a) => C (T u a)
(IsScalar u, C a) => C (T u a)
(IsScalar u, C a) => C (T u a)
fromNumber :: a -> Scalar aSource
toNumber :: Scalar a -> aSource
fromNumberWithDimension :: C u => u -> a -> T u aSource
toNumberWithDimension :: C u => u -> T u a -> aSource
(&*&) :: (C u, C v, C a) => T u a -> T v a -> T (Mul u v) aSource
(&/&) :: (C u, C v, C a) => T u a -> T v a -> T (Mul u (Recip v)) aSource
mulToScalar :: (C u, C a) => T u a -> T (Recip u) a -> aSource
divToScalar :: (C u, C a) => T u a -> T u a -> aSource
cancelToScalar :: C u => T (Mul u (Recip u)) a -> aSource
recip :: (C u, C a) => T u a -> T (Recip u) aSource
unrecip :: (C u, C a) => T (Recip u) a -> T u aSource
sqr :: (C u, C a) => T u a -> T (Sqr u) aSource
sqrt :: (C u, C a) => T (Sqr u) a -> T u aSource
abs :: (C u, C a) => T u a -> T u aSource
absSignum :: (C u, C a) => T u a -> (T u a, a)Source
(*&) :: (C u, C a) => a -> T u a -> T u aSource
scale :: (C u, C a) => a -> T u a -> T u aSource
rewriteDimension :: (C u, C v) => (u -> v) -> T u a -> T v aSource
Example constructors
type Scalar a = T Scalar aSource
type Length a = T Length aSource
type Time a = T Time aSource
type Mass a = T Mass aSource
type Charge a = T Charge aSource
type Angle a = T Angle aSource
type Temperature a = T Temperature aSource
type Information a = T Information aSource
type Frequency a = T Frequency aSource
type Voltage a = T Voltage aSource
scalar :: a -> Scalar aSource
length :: a -> Length aSource
time :: a -> Time aSource
mass :: a -> Mass aSource
charge :: a -> Charge aSource
frequency :: a -> Frequency aSource
angle :: a -> Angle aSource
temperature :: a -> Temperature aSource
information :: a -> Information aSource
voltage :: a -> Voltage aSource
Produced by Haddock version 2.4.2