dimensional-tf 0.1.1 → 0.2
raw patch · 2 files changed
+12/−9 lines, 2 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
- Numeric.Units.Dimensional.TF: _0, _9, _8, _7, _6, _5, _4, _3, _2, _1 :: Num a => Dimensionless a
- Numeric.Units.Dimensional.TF: exp, atanh, acosh, asinh, tanh, cosh, sinh, atan, acos, asin, tan, cos, sin, log :: Floating a => Dimensionless a -> Dimensionless a
- Numeric.Units.Dimensional.TF.NonSI: inch, foot :: Fractional a => Unit DLength a
- Numeric.Units.Dimensional.TF.NonSI: poundMass, ounce :: Fractional a => Unit DMass a
- Numeric.Units.Dimensional.TF.NonSI: yard, nauticalMile, mile :: Fractional a => Unit DLength a
- Numeric.Units.Dimensional.TF.NonSI: year, century :: Num a => Unit DTime a
- Numeric.Units.Dimensional.TF.SIUnits: deci, yocto, zepto, atto, femto, pico, nano, micro, milli, centi :: Fractional a => Unit d a -> Unit d a
- Numeric.Units.Dimensional.TF.SIUnits: degree, arcsecond, arcminute :: Floating a => Unit DPlaneAngle a
- Numeric.Units.Dimensional.TF.SIUnits: degreeOfArc, secondOfArc, minuteOfArc :: Floating a => Unit DPlaneAngle a
- Numeric.Units.Dimensional.TF.SIUnits: deka, yotta, zetta, exa, peta, tera, giga, mega, kilo, hecto, deca :: Num a => Unit d a -> Unit d a
- Numeric.Units.Dimensional.TF.SIUnits: litre, liter :: Fractional a => Unit DVolume a
- Numeric.Units.Dimensional.TF.SIUnits: metre, meter :: Num a => Unit DLength a
- Numeric.Units.Dimensional.TF.SIUnits: minute, day, hour :: Num a => Unit DTime a
- Numeric.Units.Dimensional.TF.SIUnits: tonne, metricTon :: Fractional a => Unit DMass a
+ Numeric.Units.Dimensional.TF: _0 :: Num a => Quantity d a
+ Numeric.Units.Dimensional.TF: _1 :: Num a => Dimensionless a
+ Numeric.Units.Dimensional.TF: _2 :: Num a => Dimensionless a
+ Numeric.Units.Dimensional.TF: _3 :: Num a => Dimensionless a
+ Numeric.Units.Dimensional.TF: _4 :: Num a => Dimensionless a
+ Numeric.Units.Dimensional.TF: _5 :: Num a => Dimensionless a
+ Numeric.Units.Dimensional.TF: _6 :: Num a => Dimensionless a
+ Numeric.Units.Dimensional.TF: _7 :: Num a => Dimensionless a
+ Numeric.Units.Dimensional.TF: _8 :: Num a => Dimensionless a
+ Numeric.Units.Dimensional.TF: _9 :: Num a => Dimensionless a
+ Numeric.Units.Dimensional.TF: acos :: Floating a => Dimensionless a -> Dimensionless a
+ Numeric.Units.Dimensional.TF: acosh :: Floating a => Dimensionless a -> Dimensionless a
+ Numeric.Units.Dimensional.TF: asin :: Floating a => Dimensionless a -> Dimensionless a
+ Numeric.Units.Dimensional.TF: asinh :: Floating a => Dimensionless a -> Dimensionless a
+ Numeric.Units.Dimensional.TF: atan :: Floating a => Dimensionless a -> Dimensionless a
+ Numeric.Units.Dimensional.TF: atanh :: Floating a => Dimensionless a -> Dimensionless a
+ Numeric.Units.Dimensional.TF: cos :: Floating a => Dimensionless a -> Dimensionless a
+ Numeric.Units.Dimensional.TF: cosh :: Floating a => Dimensionless a -> Dimensionless a
+ Numeric.Units.Dimensional.TF: exp :: Floating a => Dimensionless a -> Dimensionless a
+ Numeric.Units.Dimensional.TF: instance Typeable DQuantity
+ Numeric.Units.Dimensional.TF: instance Typeable DUnit
+ Numeric.Units.Dimensional.TF: instance Typeable3 Dimensional
+ Numeric.Units.Dimensional.TF: instance Typeable7 Dim
+ Numeric.Units.Dimensional.TF: log :: Floating a => Dimensionless a -> Dimensionless a
+ Numeric.Units.Dimensional.TF: sin :: Floating a => Dimensionless a -> Dimensionless a
+ Numeric.Units.Dimensional.TF: sinh :: Floating a => Dimensionless a -> Dimensionless a
+ Numeric.Units.Dimensional.TF: tan :: Floating a => Dimensionless a -> Dimensionless a
+ Numeric.Units.Dimensional.TF: tanh :: Floating a => Dimensionless a -> Dimensionless a
+ Numeric.Units.Dimensional.TF.NonSI: century :: Num a => Unit DTime a
+ Numeric.Units.Dimensional.TF.NonSI: foot :: Fractional a => Unit DLength a
+ Numeric.Units.Dimensional.TF.NonSI: inch :: Fractional a => Unit DLength a
+ Numeric.Units.Dimensional.TF.NonSI: mile :: Fractional a => Unit DLength a
+ Numeric.Units.Dimensional.TF.NonSI: nauticalMile :: Fractional a => Unit DLength a
+ Numeric.Units.Dimensional.TF.NonSI: ounce :: Fractional a => Unit DMass a
+ Numeric.Units.Dimensional.TF.NonSI: poundMass :: Fractional a => Unit DMass a
+ Numeric.Units.Dimensional.TF.NonSI: yard :: Fractional a => Unit DLength a
+ Numeric.Units.Dimensional.TF.NonSI: year :: Num a => Unit DTime a
+ Numeric.Units.Dimensional.TF.SIUnits: arcminute :: Floating a => Unit DPlaneAngle a
+ Numeric.Units.Dimensional.TF.SIUnits: arcsecond :: Floating a => Unit DPlaneAngle a
+ Numeric.Units.Dimensional.TF.SIUnits: atto :: Fractional a => Unit d a -> Unit d a
+ Numeric.Units.Dimensional.TF.SIUnits: centi :: Fractional a => Unit d a -> Unit d a
+ Numeric.Units.Dimensional.TF.SIUnits: day :: Num a => Unit DTime a
+ Numeric.Units.Dimensional.TF.SIUnits: deca :: Num a => Unit d a -> Unit d a
+ Numeric.Units.Dimensional.TF.SIUnits: deci :: Fractional a => Unit d a -> Unit d a
+ Numeric.Units.Dimensional.TF.SIUnits: degree :: Floating a => Unit DPlaneAngle a
+ Numeric.Units.Dimensional.TF.SIUnits: degreeOfArc :: Floating a => Unit DPlaneAngle a
+ Numeric.Units.Dimensional.TF.SIUnits: deka :: Num a => Unit d a -> Unit d a
+ Numeric.Units.Dimensional.TF.SIUnits: exa :: Num a => Unit d a -> Unit d a
+ Numeric.Units.Dimensional.TF.SIUnits: femto :: Fractional a => Unit d a -> Unit d a
+ Numeric.Units.Dimensional.TF.SIUnits: giga :: Num a => Unit d a -> Unit d a
+ Numeric.Units.Dimensional.TF.SIUnits: hecto :: Num a => Unit d a -> Unit d a
+ Numeric.Units.Dimensional.TF.SIUnits: hour :: Num a => Unit DTime a
+ Numeric.Units.Dimensional.TF.SIUnits: kilo :: Num a => Unit d a -> Unit d a
+ Numeric.Units.Dimensional.TF.SIUnits: liter :: Fractional a => Unit DVolume a
+ Numeric.Units.Dimensional.TF.SIUnits: litre :: Fractional a => Unit DVolume a
+ Numeric.Units.Dimensional.TF.SIUnits: mega :: Num a => Unit d a -> Unit d a
+ Numeric.Units.Dimensional.TF.SIUnits: meter :: Num a => Unit DLength a
+ Numeric.Units.Dimensional.TF.SIUnits: metre :: Num a => Unit DLength a
+ Numeric.Units.Dimensional.TF.SIUnits: metricTon :: Fractional a => Unit DMass a
+ Numeric.Units.Dimensional.TF.SIUnits: micro :: Fractional a => Unit d a -> Unit d a
+ Numeric.Units.Dimensional.TF.SIUnits: milli :: Fractional a => Unit d a -> Unit d a
+ Numeric.Units.Dimensional.TF.SIUnits: minute :: Num a => Unit DTime a
+ Numeric.Units.Dimensional.TF.SIUnits: minuteOfArc :: Floating a => Unit DPlaneAngle a
+ Numeric.Units.Dimensional.TF.SIUnits: nano :: Fractional a => Unit d a -> Unit d a
+ Numeric.Units.Dimensional.TF.SIUnits: peta :: Num a => Unit d a -> Unit d a
+ Numeric.Units.Dimensional.TF.SIUnits: pico :: Fractional a => Unit d a -> Unit d a
+ Numeric.Units.Dimensional.TF.SIUnits: secondOfArc :: Floating a => Unit DPlaneAngle a
+ Numeric.Units.Dimensional.TF.SIUnits: tera :: Num a => Unit d a -> Unit d a
+ Numeric.Units.Dimensional.TF.SIUnits: tonne :: Fractional a => Unit DMass a
+ Numeric.Units.Dimensional.TF.SIUnits: yocto :: Fractional a => Unit d a -> Unit d a
+ Numeric.Units.Dimensional.TF.SIUnits: yotta :: Num a => Unit d a -> Unit d a
+ Numeric.Units.Dimensional.TF.SIUnits: zepto :: Fractional a => Unit d a -> Unit d a
+ Numeric.Units.Dimensional.TF.SIUnits: zetta :: Num a => Unit d a -> Unit d a
Files
- Numeric/Units/Dimensional/TF.lhs +11/−8
- dimensional-tf.cabal +1/−1
Numeric/Units/Dimensional/TF.lhs view
@@ -51,6 +51,7 @@ > , TypeFamilies > , TypeSynonymInstances > , FlexibleInstances+> , DeriveDataTypeable > #-} > {- |@@ -77,6 +78,7 @@ > import qualified Prelude > import Data.List (genericLength) > import Data.Maybe (Maybe (Just, Nothing), catMaybes)+> import Data.Typeable (Typeable) > import Numeric.NumType.TF > ( NumType, Zero, toNum, Add, Sub > , Pos1, Pos2, pos2, Pos3, pos3@@ -105,7 +107,7 @@ We call this data type 'Dimensional' to capture the notion that the units and quantities it represents have physical dimensions. -> newtype Dimensional v d a = Dimensional a deriving (Eq, Ord, Enum)+> newtype Dimensional v d a = Dimensional a deriving (Eq, Ord, Enum, Typeable) The type variable 'a' is the only non-phantom type variable and represents the numerical value of a quantity or the scale (w.r.t.@@ -122,8 +124,8 @@ The phantom type variable v is used to distinguish between units and quantities. It should be one of the following: -> data DUnit-> data DQuantity+> data DUnit deriving Typeable+> data DQuantity deriving Typeable For convenience we define type synonyms for units and quantities. @@ -164,7 +166,7 @@ using NumTypes. For convenience we collect all seven base dimensions in a data type 'Dim'. -> data Dim l m t i th n j+> data Dim l m t i th n j deriving Typeable where the respective dimensions are represented by type variables using the following convention.@@ -373,8 +375,7 @@ The sum of all elements in a list. > sum :: forall d a . Num a => [Quantity d a] -> Quantity d a-> sum = foldr (+) (Dimensional 0 :: Quantity d a)-> -- -}+> sum = foldr (+) _0 The length of the list as a 'Dimensionless'. This can be useful for purposes of e.g. calculating averages.@@ -438,8 +439,10 @@ that often show up in formulae. We also throw in 'pi' for good measure. -> _0, _1, _2, _3, _4, _5, _6, _7, _8, _9 :: (Num a) => Dimensionless a-> _0 = 0 *~ one+> _0 :: (Num a) => Quantity d a+> _0 = Dimensional 0++> _1, _2, _3, _4, _5, _6, _7, _8, _9 :: (Num a) => Dimensionless a > _1 = 1 *~ one > _2 = 2 *~ one > _3 = 3 *~ one
dimensional-tf.cabal view
@@ -1,5 +1,5 @@ Name: dimensional-tf-Version: 0.1.1+Version: 0.2 License: BSD3 License-File: LICENSE Copyright: Bjorn Buckwalter 2006-2012