Copyright | Copyright (C) 2006-2016 Bjorn Buckwalter |
---|---|
License | BSD3 |
Maintainer | bjorn.buckwalter@gmail.com |
Stability | Stable |
Portability | GHC only? |
Safe Haskell | None |
Language | Haskell98 |
Please refer to the literate Haskell code for documentation of both API and implementation.
Documentation
newtype Dimensional v d a Source
Functor Dimensionless Source | |
(Show d, Show a) => Show (Quantity d a) Source | |
Enum a => Enum (Dimensional v d a) Source | |
Eq a => Eq (Dimensional v d a) Source | |
Ord a => Ord (Dimensional v d a) Source |
type Unit = Dimensional DUnit Source
type Quantity = Dimensional DQuantity Source
(/~) :: Fractional a => Quantity d a -> Unit d a -> a infixl 7 Source
data Dim l m t i th n j Source
Functor Dimensionless Source | |
(NumType l, NumType m, NumType t, NumType i, NumType th, NumType n, NumType j) => Show (Dim l m t i th n j) Source | |
type Root (Dim l m t i th n j) x = Dim (Div l x) (Div m x) (Div t x) (Div i x) (Div th x) (Div n x) (Div j x) Source | |
type Pow (Dim l m t i th n j) x = Dim (Mul l x) (Mul m x) (Mul t x) (Mul i x) (Mul th x) (Mul n x) (Mul j x) Source | |
type Div (Dim l m t i th n j) (Dim l' m' t' i' th' n' j') = Dim (Sub l l') (Sub m m') (Sub t t') (Sub i i') (Sub th th') (Sub n n') (Sub j j') Source | |
type Mul (Dim l m t i th n j) (Dim l' m' t' i' th' n' j') = Dim (Add l l') (Add m m') (Add t t') (Add i i') (Add th th') (Add n n') (Add j j') Source |
type Dimensionless = Quantity DOne Source
(*) :: Num a => Dimensional v d a -> Dimensional v d' a -> Dimensional v (Mul d d') a infixl 7 Source
(/) :: Fractional a => Dimensional v d a -> Dimensional v d' a -> Dimensional v (Div d d') a infixl 7 Source
(^) :: (Fractional a, NumType n) => Dimensional v d a -> n -> Dimensional v (Pow d n) a infixr 8 Source
(^+) :: (Num a, NumType n) => Dimensional v d a -> n -> Dimensional v (Pow d n) a infixr 8 Source
nroot :: (Floating a, NumType n) => n -> Dimensional v d a -> Dimensional v (Root d n) a Source
sqrt :: Floating a => Dimensional v d a -> Dimensional v (Root d Pos2) a Source
cbrt :: Floating a => Dimensional v d a -> Dimensional v (Root d Pos3) a Source
(^/) :: (Floating a, NumType n) => Dimensional v d a -> n -> Dimensional v (Root d n) a infixr 8 Source
dimensionlessLength :: Num a => [Dimensional v d a] -> Dimensionless a Source
exp :: Floating a => Dimensionless a -> Dimensionless a Source
log :: Floating a => Dimensionless a -> Dimensionless a Source
sin :: Floating a => Dimensionless a -> Dimensionless a Source
cos :: Floating a => Dimensionless a -> Dimensionless a Source
tan :: Floating a => Dimensionless a -> Dimensionless a Source
asin :: Floating a => Dimensionless a -> Dimensionless a Source
acos :: Floating a => Dimensionless a -> Dimensionless a Source
atan :: Floating a => Dimensionless a -> Dimensionless a Source
sinh :: Floating a => Dimensionless a -> Dimensionless a Source
cosh :: Floating a => Dimensionless a -> Dimensionless a Source
tanh :: Floating a => Dimensionless a -> Dimensionless a Source
asinh :: Floating a => Dimensionless a -> Dimensionless a Source
acosh :: Floating a => Dimensionless a -> Dimensionless a Source
atanh :: Floating a => Dimensionless a -> Dimensionless a Source
(**) :: Floating a => Dimensionless a -> Dimensionless a -> Dimensionless a infixr 8 Source
_1 :: Num a => Dimensionless a Source
_2 :: Num a => Dimensionless a Source
_3 :: Num a => Dimensionless a Source
_4 :: Num a => Dimensionless a Source
_5 :: Num a => Dimensionless a Source
_6 :: Num a => Dimensionless a Source
_7 :: Num a => Dimensionless a Source
_8 :: Num a => Dimensionless a Source
_9 :: Num a => Dimensionless a Source
pi :: Floating a => Dimensionless a Source
tau :: Floating a => Dimensionless a Source