dimensional 0.10.2 → 0.12
raw patch · 8 files changed
+51/−18 lines, 8 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
- Numeric.Units.Dimensional: _0, _9, _8, _7, _6, _5, _4, _3, _2, _1 :: Num a => Dimensionless a
- Numeric.Units.Dimensional: exp, atanh, acosh, asinh, tanh, cosh, sinh, atan, acos, asin, tan, cos, sin, log :: Floating a => Dimensionless a -> Dimensionless a
- Numeric.Units.Dimensional.NonSI: inch, foot :: Fractional a => Unit DLength a
- Numeric.Units.Dimensional.NonSI: poundMass, ounce :: Fractional a => Unit DMass a
- Numeric.Units.Dimensional.NonSI: yard, nauticalMile, mile :: Fractional a => Unit DLength a
- Numeric.Units.Dimensional.NonSI: year, century :: Num a => Unit DTime a
- Numeric.Units.Dimensional.SIUnits: deci, yocto, zepto, atto, femto, pico, nano, micro, milli, centi :: Fractional a => Unit d a -> Unit d a
- Numeric.Units.Dimensional.SIUnits: degree, arcsecond, arcminute :: Floating a => Unit DPlaneAngle a
- Numeric.Units.Dimensional.SIUnits: degreeOfArc, secondOfArc, minuteOfArc :: Floating a => Unit DPlaneAngle a
- Numeric.Units.Dimensional.SIUnits: deka, yotta, zetta, exa, peta, tera, giga, mega, kilo, hecto, deca :: Num a => Unit d a -> Unit d a
- Numeric.Units.Dimensional.SIUnits: litre, liter :: Fractional a => Unit DVolume a
- Numeric.Units.Dimensional.SIUnits: metre, meter :: Num a => Unit DLength a
- Numeric.Units.Dimensional.SIUnits: minute, day, hour :: Num a => Unit DTime a
- Numeric.Units.Dimensional.SIUnits: tonne, metricTon :: Fractional a => Unit DMass a
+ Numeric.Units.Dimensional: _0 :: Num a => Quantity d a
+ Numeric.Units.Dimensional: _1 :: Num a => Dimensionless a
+ Numeric.Units.Dimensional: _2 :: Num a => Dimensionless a
+ Numeric.Units.Dimensional: _3 :: Num a => Dimensionless a
+ Numeric.Units.Dimensional: _4 :: Num a => Dimensionless a
+ Numeric.Units.Dimensional: _5 :: Num a => Dimensionless a
+ Numeric.Units.Dimensional: _6 :: Num a => Dimensionless a
+ Numeric.Units.Dimensional: _7 :: Num a => Dimensionless a
+ Numeric.Units.Dimensional: _8 :: Num a => Dimensionless a
+ Numeric.Units.Dimensional: _9 :: Num a => Dimensionless a
+ Numeric.Units.Dimensional: acos :: Floating a => Dimensionless a -> Dimensionless a
+ Numeric.Units.Dimensional: acosh :: Floating a => Dimensionless a -> Dimensionless a
+ Numeric.Units.Dimensional: asin :: Floating a => Dimensionless a -> Dimensionless a
+ Numeric.Units.Dimensional: asinh :: Floating a => Dimensionless a -> Dimensionless a
+ Numeric.Units.Dimensional: atan :: Floating a => Dimensionless a -> Dimensionless a
+ Numeric.Units.Dimensional: atanh :: Floating a => Dimensionless a -> Dimensionless a
+ Numeric.Units.Dimensional: cos :: Floating a => Dimensionless a -> Dimensionless a
+ Numeric.Units.Dimensional: cosh :: Floating a => Dimensionless a -> Dimensionless a
+ Numeric.Units.Dimensional: exp :: Floating a => Dimensionless a -> Dimensionless a
+ Numeric.Units.Dimensional: log :: Floating a => Dimensionless a -> Dimensionless a
+ Numeric.Units.Dimensional: sin :: Floating a => Dimensionless a -> Dimensionless a
+ Numeric.Units.Dimensional: sinh :: Floating a => Dimensionless a -> Dimensionless a
+ Numeric.Units.Dimensional: tan :: Floating a => Dimensionless a -> Dimensionless a
+ Numeric.Units.Dimensional: tanh :: Floating a => Dimensionless a -> Dimensionless a
+ Numeric.Units.Dimensional: tau :: Floating a => Dimensionless a
+ Numeric.Units.Dimensional.NonSI: century :: Num a => Unit DTime a
+ Numeric.Units.Dimensional.NonSI: foot :: Fractional a => Unit DLength a
+ Numeric.Units.Dimensional.NonSI: imperialCup :: Fractional a => Unit DVolume a
+ Numeric.Units.Dimensional.NonSI: imperialFluidOunce :: Fractional a => Unit DVolume a
+ Numeric.Units.Dimensional.NonSI: imperialGallon :: Fractional a => Unit DVolume a
+ Numeric.Units.Dimensional.NonSI: imperialGill :: Fractional a => Unit DVolume a
+ Numeric.Units.Dimensional.NonSI: imperialPint :: Fractional a => Unit DVolume a
+ Numeric.Units.Dimensional.NonSI: imperialQuart :: Fractional a => Unit DVolume a
+ Numeric.Units.Dimensional.NonSI: inch :: Fractional a => Unit DLength a
+ Numeric.Units.Dimensional.NonSI: mil :: Fractional a => Unit DLength a
+ Numeric.Units.Dimensional.NonSI: mile :: Fractional a => Unit DLength a
+ Numeric.Units.Dimensional.NonSI: nauticalMile :: Fractional a => Unit DLength a
+ Numeric.Units.Dimensional.NonSI: ounce :: Fractional a => Unit DMass a
+ Numeric.Units.Dimensional.NonSI: poundMass :: Fractional a => Unit DMass a
+ Numeric.Units.Dimensional.NonSI: yard :: Fractional a => Unit DLength a
+ Numeric.Units.Dimensional.NonSI: year :: Num a => Unit DTime a
+ Numeric.Units.Dimensional.SIUnits: arcminute :: Floating a => Unit DPlaneAngle a
+ Numeric.Units.Dimensional.SIUnits: arcsecond :: Floating a => Unit DPlaneAngle a
+ Numeric.Units.Dimensional.SIUnits: astronomicalUnit :: Num a => Unit DLength a
+ Numeric.Units.Dimensional.SIUnits: atto :: Fractional a => Unit d a -> Unit d a
+ Numeric.Units.Dimensional.SIUnits: centi :: Fractional a => Unit d a -> Unit d a
+ Numeric.Units.Dimensional.SIUnits: day :: Num a => Unit DTime a
+ Numeric.Units.Dimensional.SIUnits: deca :: Num a => Unit d a -> Unit d a
+ Numeric.Units.Dimensional.SIUnits: deci :: Fractional a => Unit d a -> Unit d a
+ Numeric.Units.Dimensional.SIUnits: degree :: Floating a => Unit DPlaneAngle a
+ Numeric.Units.Dimensional.SIUnits: degreeOfArc :: Floating a => Unit DPlaneAngle a
+ Numeric.Units.Dimensional.SIUnits: deka :: Num a => Unit d a -> Unit d a
+ Numeric.Units.Dimensional.SIUnits: exa :: Num a => Unit d a -> Unit d a
+ Numeric.Units.Dimensional.SIUnits: femto :: Fractional a => Unit d a -> Unit d a
+ Numeric.Units.Dimensional.SIUnits: giga :: Num a => Unit d a -> Unit d a
+ Numeric.Units.Dimensional.SIUnits: hecto :: Num a => Unit d a -> Unit d a
+ Numeric.Units.Dimensional.SIUnits: hour :: Num a => Unit DTime a
+ Numeric.Units.Dimensional.SIUnits: kilo :: Num a => Unit d a -> Unit d a
+ Numeric.Units.Dimensional.SIUnits: liter :: Fractional a => Unit DVolume a
+ Numeric.Units.Dimensional.SIUnits: litre :: Fractional a => Unit DVolume a
+ Numeric.Units.Dimensional.SIUnits: mega :: Num a => Unit d a -> Unit d a
+ Numeric.Units.Dimensional.SIUnits: meter :: Num a => Unit DLength a
+ Numeric.Units.Dimensional.SIUnits: metre :: Num a => Unit DLength a
+ Numeric.Units.Dimensional.SIUnits: metricTon :: Fractional a => Unit DMass a
+ Numeric.Units.Dimensional.SIUnits: micro :: Fractional a => Unit d a -> Unit d a
+ Numeric.Units.Dimensional.SIUnits: milli :: Fractional a => Unit d a -> Unit d a
+ Numeric.Units.Dimensional.SIUnits: minute :: Num a => Unit DTime a
+ Numeric.Units.Dimensional.SIUnits: minuteOfArc :: Floating a => Unit DPlaneAngle a
+ Numeric.Units.Dimensional.SIUnits: nano :: Fractional a => Unit d a -> Unit d a
+ Numeric.Units.Dimensional.SIUnits: peta :: Num a => Unit d a -> Unit d a
+ Numeric.Units.Dimensional.SIUnits: pico :: Fractional a => Unit d a -> Unit d a
+ Numeric.Units.Dimensional.SIUnits: secondOfArc :: Floating a => Unit DPlaneAngle a
+ Numeric.Units.Dimensional.SIUnits: tera :: Num a => Unit d a -> Unit d a
+ Numeric.Units.Dimensional.SIUnits: tonne :: Fractional a => Unit DMass a
+ Numeric.Units.Dimensional.SIUnits: yocto :: Fractional a => Unit d a -> Unit d a
+ Numeric.Units.Dimensional.SIUnits: yotta :: Num a => Unit d a -> Unit d a
+ Numeric.Units.Dimensional.SIUnits: zepto :: Fractional a => Unit d a -> Unit d a
+ Numeric.Units.Dimensional.SIUnits: zetta :: Num a => Unit d a -> Unit d a
- Numeric.Units.Dimensional.CGS: fromSI :: (Floating a, Mul Neg2 i it, Mul Pos1 i i, Mul Pos3 i il, Mul Pos1 t t, Mul Zero t Zero, Mul Pos2 m m2, Mul Zero m Zero, Mul Pos2 l l2, Mul Zero l Zero, Sub t' it t, Sub m' i m2, Sub l' il l2, Sub t t Zero, Sub m2 m2 Zero, Add t it t', Add m2 i m', Add l2 il l', Add m2 Zero m2, Add l2 Zero l2) => Quantity (Dim l m t i Zero Zero Zero) a -> Quantity (CGSDim l' m' t') a
+ Numeric.Units.Dimensional.CGS: fromSI :: (Floating a, Add l2 Zero l2, Add m2 Zero m2, Add l2 il l', Add m2 i m', Add t it t', Sub m2 m2 Zero, Sub t t Zero, Sub l' il l2, Sub m' i m2, Sub t' it t, Mul Zero l Zero, Mul Pos2 l l2, Mul Zero m Zero, Mul Pos2 m m2, Mul Zero t Zero, Mul Pos1 t t, Mul Pos3 i il, Mul Pos1 i i, Mul Neg2 i it) => Quantity (Dim l m t i Zero Zero Zero) a -> Quantity (CGSDim l' m' t') a
Files
- LICENSE +1/−1
- Numeric/Units/Dimensional.lhs +17/−8
- Numeric/Units/Dimensional/CGS.lhs +1/−1
- Numeric/Units/Dimensional/Extensible.lhs +1/−1
- Numeric/Units/Dimensional/NonSI.lhs +19/−3
- Numeric/Units/Dimensional/Quantities.lhs +1/−1
- Numeric/Units/Dimensional/SIUnits.lhs +9/−1
- dimensional.cabal +2/−2
LICENSE view
@@ -1,4 +1,4 @@-Copyright (c) 2006-2011, Bjorn Buckwalter.+Copyright (c) 2006-2013, Bjorn Buckwalter. All rights reserved. Redistribution and use in source and binary forms, with or without
Numeric/Units/Dimensional.lhs view
@@ -58,7 +58,7 @@ > #-} > {- |-> Copyright : Copyright (C) 2006-2011 Bjorn Buckwalter+> Copyright : Copyright (C) 2006-2013 Bjorn Buckwalter > License : BSD3 > > Maintainer : bjorn.buckwalter@gmail.com@@ -382,7 +382,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.@@ -442,12 +442,17 @@ > one :: Num a => Unit DOne a > one = Dimensional 1 -For convenience We define some constants for small integer values-that often show up in formulae. We also throw in 'pi' for good-measure.+For convenience we define some small integer values and constants. -> _0, _1, _2, _3, _4, _5, _6, _7, _8, _9 :: (Num a) => Dimensionless a-> _0 = 0 *~ one+The constant for zero is polymorphic as proposed by Douglas McClean+(http://code.google.com/p/dimensional/issues/detail?id=39) allowing+it to express zero Length or Capacitance or Velocity etc, in addition+to the dimensionless value zero.++> _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@@ -458,8 +463,12 @@ > _8 = 8 *~ one > _9 = 9 *~ one -> pi :: (Floating a) => Dimensionless a+For background on 'tau' see http://tauday.com/tau-manifesto (but also+feel free to review http://www.thepimanifesto.com).++> pi, tau :: (Floating a) => Dimensionless a > pi = Prelude.pi *~ one+> tau = _2 * pi = Instances of 'Show' =
Numeric/Units/Dimensional/CGS.lhs view
@@ -52,7 +52,7 @@ > #-} > {-# OPTIONS_GHC -fcontext-stack=30 #-} > {- |-> Copyright : Copyright (C) 2006-2011 Bjorn Buckwalter+> Copyright : Copyright (C) 2006-2013 Bjorn Buckwalter > License : BSD3 > > Maintainer : bjorn.buckwalter@gmail.com
Numeric/Units/Dimensional/Extensible.lhs view
@@ -35,7 +35,7 @@ > #-} > {- |-> Copyright : Copyright (C) 2006-2011 Bjorn Buckwalter+> Copyright : Copyright (C) 2006-2013 Bjorn Buckwalter > License : BSD3 > > Maintainer : bjorn.buckwalter@gmail.com
Numeric/Units/Dimensional/NonSI.lhs view
@@ -13,7 +13,7 @@ otherwise specified. > {- |-> Copyright : Copyright (C) 2006-2011 Bjorn Buckwalter+> Copyright : Copyright (C) 2006-2013 Bjorn Buckwalter > License : BSD3 > > Maintainer : bjorn.buckwalter@gmail.com@@ -69,12 +69,13 @@ Some US customary (that is, inch-pound) units. -> inch, foot :: Fractional a => Unit DLength a+> inch, foot, mil :: Fractional a => Unit DLength a > inch = prefix 2.54 (centi meter) > foot = prefix 12 inch -- 0.3048 m+> mil = prefix 0.001 inch > poundMass, ounce :: Fractional a => Unit DMass a > poundMass = prefix 0.45359237 (kilo gram)-> ounce = prefix 28.349523 gram+> ounce = prefix (1 Prelude./ 16) poundMass > poundForce :: Fractional a => Unit DForce a > poundForce = poundMass * gee -- 4.4482 N@@ -168,6 +169,21 @@ > stokes :: (Fractional a) => Unit DKinematicViscosity a > stokes = centi meter ^ pos2 / second+++= Imperial Volumes =++Per http://en.wikipedia.org/wiki/Imperial_units.++> imperialGallon, imperialQuart, imperialPint, imperialCup,+> imperialGill, imperialFluidOunce+> :: (Fractional a) => Unit DVolume a+> imperialGallon = prefix 4.54609 liter+> imperialQuart = prefix (1 Prelude./ 4) imperialGallon+> imperialPint = prefix (1 Prelude./ 8) imperialGallon+> imperialCup = prefix 0.5 imperialPint+> imperialGill = prefix (1 Prelude./ 4) imperialPint+> imperialFluidOunce = prefix (1 Prelude./ 20) imperialPint = References =
Numeric/Units/Dimensional/Quantities.lhs view
@@ -16,7 +16,7 @@ dimensionality type synonyms are provided for each quantity type. > {- |-> Copyright : Copyright (C) 2006-2011 Bjorn Buckwalter+> Copyright : Copyright (C) 2006-2013 Bjorn Buckwalter > License : BSD3 > > Maintainer : bjorn.buckwalter@gmail.com
Numeric/Units/Dimensional/SIUnits.lhs view
@@ -11,7 +11,7 @@ referenced are from [1] unless otherwise specified. > {- |-> Copyright : Copyright (C) 2006-2011 Bjorn Buckwalter+> Copyright : Copyright (C) 2006-2013 Bjorn Buckwalter > License : BSD3 > > Maintainer : bjorn.buckwalter@gmail.com@@ -262,9 +262,17 @@ > tonne = prefix 1000 (kilo gram) -- Name in original SI text. > metricTon = tonne -- American name. +In 2012 the IAU redefined the astronomical unit as a conventional+unit of length directly tied to the meter, with a length of exactly+149,597,870,700 m and the official abbreviation of au[3]. +> astronomicalUnit :: Num a => Unit DLength a+> astronomicalUnit = prefix 149597870700 meter++ = References = [1] http://physics.nist.gov/Pubs/SP811/ [2] http://en.wikipedia.org/wiki/Minute_of_arc+[3] http://en.wikipedia.org/wiki/Astronomical_unit
dimensional.cabal view
@@ -1,8 +1,8 @@ Name: dimensional-Version: 0.10.2+Version: 0.12 License: BSD3 License-File: LICENSE-Copyright: Bjorn Buckwalter 2006-2012+Copyright: Bjorn Buckwalter 2006-2013 Author: Bjorn Buckwalter Maintainer: bjorn.buckwalter@gmail.com Stability: mostly stable