numeric-prelude-0.2: src/Number/DimensionTerm/SI.hs
{-# LANGUAGE NoImplicitPrelude #-}
{- |
Copyright : (c) Henning Thielemann 2003
License : GPL
Maintainer : numericprelude@henning-thielemann.de
Stability : provisional
Portability : portable
Special physical units: SI unit system
-}
module Number.DimensionTerm.SI (
second, minute, hour, day, year,
hertz,
meter,
-- liter,
gramm, tonne,
-- newton,
-- pascal,
-- bar,
-- joule,
-- watt,
coulomb,
-- ampere,
volt,
-- ohm,
-- farad,
kelvin,
bit, byte,
-- baud,
inch, foot, yard, astronomicUnit, parsec,
SI.yocto, SI.zepto, SI.atto, SI.femto, SI.pico, SI.nano,
SI.micro, SI.milli, SI.centi, SI.deci, SI.one, SI.deca,
SI.hecto, SI.kilo, SI.mega, SI.giga, SI.tera, SI.peta,
SI.exa, SI.zetta, SI.yotta,
) where
-- import qualified Algebra.Transcendental as Trans
import qualified Algebra.Field as Field
-- import qualified Algebra.DimensionTerm as Dim
import qualified Number.DimensionTerm as DN
import qualified Number.SI.Unit as SI
-- aimport NumericPrelude.Base hiding (length)
import NumericPrelude.Numeric hiding (one)
second :: Field.C a => DN.Time a
second = DN.time 1e+0
minute :: Field.C a => DN.Time a
minute = DN.time SI.secondsPerMinute
hour :: Field.C a => DN.Time a
hour = DN.time SI.secondsPerHour
day :: Field.C a => DN.Time a
day = DN.time SI.secondsPerDay
year :: Field.C a => DN.Time a
year = DN.time SI.secondsPerYear
hertz :: Field.C a => DN.Frequency a
hertz = DN.frequency 1e+0
meter :: Field.C a => DN.Length a
meter = DN.length 1e+0
-- liter :: Field.C a => DN.Volume a
-- liter = DN.volume 1e-3
gramm :: Field.C a => DN.Mass a
gramm = DN.mass 1e-3
tonne :: Field.C a => DN.Mass a
tonne = DN.mass 1e+3
-- newton :: Field.C a => DN.Force a
-- newton = DN.force 1e+0
-- pascal :: Field.C a => DN.Pressure a
-- pascal = DN.pressure 1e+0
-- bar :: Field.C a => DN.Pressure a
-- bar = DN.pressure 1e+5
-- joule :: Field.C a => DN.Energy a
-- joule = DN.energy 1e+0
-- watt :: Field.C a => DN.Power a
-- watt = DN.power 1e+0
coulomb :: Field.C a => DN.Charge a
coulomb = DN.charge 1e+0
-- ampere :: Field.C a => DN.Current a
-- ampere = DN.current 1e+0
volt :: Field.C a => DN.Voltage a
volt = DN.voltage 1e+0
-- ohm :: Field.C a => DN.Resistance a
-- ohm = DN.resistance 1e+0
-- farad :: Field.C a => DN.Capacitance a
-- farad = DN.capacitance 1e+0
kelvin :: Field.C a => DN.Temperature a
kelvin = DN.temperature 1e+0
bit :: Field.C a => DN.Information a
bit = DN.information 1e+0
byte :: Field.C a => DN.Information a
byte = DN.information SI.bytesize
-- baud :: Field.C a => DN.DataRate a
-- baud = DN.dataRate 1e+0
inch, foot, yard, astronomicUnit, parsec
:: Field.C a => DN.Length a
inch = DN.length SI.meterPerInch
foot = DN.length SI.meterPerFoot
yard = DN.length SI.meterPerYard
astronomicUnit = DN.length SI.meterPerAstronomicUnit
parsec = DN.length SI.meterPerParsec
{-
accelerationOfEarthGravity :: Field.C a => DN.Acceleration a
accelerationOfEarthGravity = DN.acceleration SI.accelerationOfEarthGravity
mach :: Field.C a => DN.Speed a
speedOfLight :: Field.C a => DN.Speed a
electronVolt :: Field.C a => DN.Energy a
calorien :: Field.C a => DN.Energy a
horsePower :: Field.C a => DN.Power a
mach = DN.speed SI.mach
speedOfLight = DN.speed SI.speedOfLight
electronVolt = DN.energy SI.electronVolt
calorien = DN.energy SI.calorien
horsePower = DN.power SI.horsePower
-}