{-# LANGUAGE DataKinds #-}
{-# LANGUAGE RankNTypes #-}
module Numeric.Units.Dimensional.SIUnits
(
metre, meter, gram, second, ampere, kelvin, mole, candela,
radian, steradian, hertz, newton, pascal, joule, watt, coulomb, volt, farad, ohm, siemens, weber, tesla, henry, lumen, lux,
degreeCelsius, fromDegreeCelsiusAbsolute, toDegreeCelsiusAbsolute,
becquerel, gray, sievert, katal,
minute, hour, day,
hectare, litre, liter, tonne, metricTon,
degree, arcminute, arcsecond,
degreeOfArc, minuteOfArc, secondOfArc,
astronomicalUnit,
deka, deca, hecto, kilo, mega, giga, tera, peta, exa, zetta, yotta,
deci, centi, milli, micro, nano, pico, femto, atto, zepto, yocto,
Prefix, applyPrefix, siPrefixes
)
where
import Data.Ratio
import Numeric.Units.Dimensional
import Numeric.Units.Dimensional.Quantities
import Numeric.Units.Dimensional.UnitNames (Prefix, siPrefixes)
import qualified Numeric.Units.Dimensional.UnitNames as N
import Numeric.Units.Dimensional.UnitNames.Internal (ucum, ucumMetric)
import qualified Numeric.Units.Dimensional.UnitNames.Internal as I
import Numeric.NumType.DK.Integers ( pos3 )
import Prelude ( Eq(..), ($), Num, Fractional, Floating, otherwise, error)
import qualified Prelude
applyMultiple :: (Num a) => Prefix -> Unit 'Metric d a -> Unit 'NonMetric d a
applyMultiple :: Prefix -> Unit 'Metric d a -> Unit 'NonMetric d a
applyMultiple Prefix
p Unit 'Metric d a
u | Ratio Integer -> Integer
forall a. Ratio a -> a
denominator Ratio Integer
x Integer -> Integer -> Bool
forall a. Eq a => a -> a -> Bool
== Integer
1 = UnitName 'NonMetric
-> Integer -> Unit 'Metric d a -> Unit 'NonMetric d a
forall a (m :: Metricality) (m1 :: Metricality) (d :: Dimension).
Num a =>
UnitName m -> Integer -> Unit m1 d a -> Unit m d a
mkUnitZ UnitName 'NonMetric
n' (Ratio Integer -> Integer
forall a. Ratio a -> a
numerator Ratio Integer
x) Unit 'Metric d a
u
| Bool
otherwise = [Char] -> Unit 'NonMetric d a
forall a. HasCallStack => [Char] -> a
error [Char]
"Attempt to apply a submultiple prefix as a multiple."
where
n' :: UnitName 'NonMetric
n' = Prefix -> UnitName 'Metric -> UnitName 'NonMetric
N.applyPrefix Prefix
p (Unit 'Metric d a -> UnitName 'Metric
forall (m :: Metricality) (d :: Dimension) a.
Unit m d a -> UnitName m
name Unit 'Metric d a
u)
x :: Ratio Integer
x = Prefix -> Ratio Integer
N.scaleFactor Prefix
p
deca, deka, hecto, kilo, mega, giga, tera, peta, exa, zetta, yotta
:: Num a => Unit 'Metric d a -> Unit 'NonMetric d a
deca :: Unit 'Metric d a -> Unit 'NonMetric d a
deca = Prefix -> Unit 'Metric d a -> Unit 'NonMetric d a
forall a (d :: Dimension).
Num a =>
Prefix -> Unit 'Metric d a -> Unit 'NonMetric d a
applyMultiple Prefix
I.deca
deka :: Unit 'Metric d a -> Unit 'NonMetric d a
deka = Unit 'Metric d a -> Unit 'NonMetric d a
forall a (d :: Dimension).
Num a =>
Unit 'Metric d a -> Unit 'NonMetric d a
deca
hecto :: Unit 'Metric d a -> Unit 'NonMetric d a
hecto = Prefix -> Unit 'Metric d a -> Unit 'NonMetric d a
forall a (d :: Dimension).
Num a =>
Prefix -> Unit 'Metric d a -> Unit 'NonMetric d a
applyMultiple Prefix
I.hecto
kilo :: Unit 'Metric d a -> Unit 'NonMetric d a
kilo = Prefix -> Unit 'Metric d a -> Unit 'NonMetric d a
forall a (d :: Dimension).
Num a =>
Prefix -> Unit 'Metric d a -> Unit 'NonMetric d a
applyMultiple Prefix
I.kilo
mega :: Unit 'Metric d a -> Unit 'NonMetric d a
mega = Prefix -> Unit 'Metric d a -> Unit 'NonMetric d a
forall a (d :: Dimension).
Num a =>
Prefix -> Unit 'Metric d a -> Unit 'NonMetric d a
applyMultiple Prefix
I.mega
giga :: Unit 'Metric d a -> Unit 'NonMetric d a
giga = Prefix -> Unit 'Metric d a -> Unit 'NonMetric d a
forall a (d :: Dimension).
Num a =>
Prefix -> Unit 'Metric d a -> Unit 'NonMetric d a
applyMultiple Prefix
I.giga
tera :: Unit 'Metric d a -> Unit 'NonMetric d a
tera = Prefix -> Unit 'Metric d a -> Unit 'NonMetric d a
forall a (d :: Dimension).
Num a =>
Prefix -> Unit 'Metric d a -> Unit 'NonMetric d a
applyMultiple Prefix
I.tera
peta :: Unit 'Metric d a -> Unit 'NonMetric d a
peta = Prefix -> Unit 'Metric d a -> Unit 'NonMetric d a
forall a (d :: Dimension).
Num a =>
Prefix -> Unit 'Metric d a -> Unit 'NonMetric d a
applyMultiple Prefix
I.peta
exa :: Unit 'Metric d a -> Unit 'NonMetric d a
exa = Prefix -> Unit 'Metric d a -> Unit 'NonMetric d a
forall a (d :: Dimension).
Num a =>
Prefix -> Unit 'Metric d a -> Unit 'NonMetric d a
applyMultiple Prefix
I.exa
zetta :: Unit 'Metric d a -> Unit 'NonMetric d a
zetta = Prefix -> Unit 'Metric d a -> Unit 'NonMetric d a
forall a (d :: Dimension).
Num a =>
Prefix -> Unit 'Metric d a -> Unit 'NonMetric d a
applyMultiple Prefix
I.zetta
yotta :: Unit 'Metric d a -> Unit 'NonMetric d a
yotta = Prefix -> Unit 'Metric d a -> Unit 'NonMetric d a
forall a (d :: Dimension).
Num a =>
Prefix -> Unit 'Metric d a -> Unit 'NonMetric d a
applyMultiple Prefix
I.yotta
applyPrefix :: (Fractional a) => Prefix -> Unit 'Metric d a -> Unit 'NonMetric d a
applyPrefix :: Prefix -> Unit 'Metric d a -> Unit 'NonMetric d a
applyPrefix Prefix
p Unit 'Metric d a
u = UnitName 'NonMetric
-> Ratio Integer -> Unit 'Metric d a -> Unit 'NonMetric d a
forall a (m :: Metricality) (m1 :: Metricality) (d :: Dimension).
Fractional a =>
UnitName m -> Ratio Integer -> Unit m1 d a -> Unit m d a
mkUnitQ UnitName 'NonMetric
n' Ratio Integer
x Unit 'Metric d a
u
where
n' :: UnitName 'NonMetric
n' = Prefix -> UnitName 'Metric -> UnitName 'NonMetric
N.applyPrefix Prefix
p (Unit 'Metric d a -> UnitName 'Metric
forall (m :: Metricality) (d :: Dimension) a.
Unit m d a -> UnitName m
name Unit 'Metric d a
u)
x :: Ratio Integer
x = Prefix -> Ratio Integer
N.scaleFactor Prefix
p
deci, centi, milli, micro, nano, pico, femto, atto, zepto, yocto
:: Fractional a => Unit 'Metric d a -> Unit 'NonMetric d a
deci :: Unit 'Metric d a -> Unit 'NonMetric d a
deci = Prefix -> Unit 'Metric d a -> Unit 'NonMetric d a
forall a (d :: Dimension).
Fractional a =>
Prefix -> Unit 'Metric d a -> Unit 'NonMetric d a
applyPrefix Prefix
I.deci
centi :: Unit 'Metric d a -> Unit 'NonMetric d a
centi = Prefix -> Unit 'Metric d a -> Unit 'NonMetric d a
forall a (d :: Dimension).
Fractional a =>
Prefix -> Unit 'Metric d a -> Unit 'NonMetric d a
applyPrefix Prefix
I.centi
milli :: Unit 'Metric d a -> Unit 'NonMetric d a
milli = Prefix -> Unit 'Metric d a -> Unit 'NonMetric d a
forall a (d :: Dimension).
Fractional a =>
Prefix -> Unit 'Metric d a -> Unit 'NonMetric d a
applyPrefix Prefix
I.milli
micro :: Unit 'Metric d a -> Unit 'NonMetric d a
micro = Prefix -> Unit 'Metric d a -> Unit 'NonMetric d a
forall a (d :: Dimension).
Fractional a =>
Prefix -> Unit 'Metric d a -> Unit 'NonMetric d a
applyPrefix Prefix
I.micro
nano :: Unit 'Metric d a -> Unit 'NonMetric d a
nano = Prefix -> Unit 'Metric d a -> Unit 'NonMetric d a
forall a (d :: Dimension).
Fractional a =>
Prefix -> Unit 'Metric d a -> Unit 'NonMetric d a
applyPrefix Prefix
I.nano
pico :: Unit 'Metric d a -> Unit 'NonMetric d a
pico = Prefix -> Unit 'Metric d a -> Unit 'NonMetric d a
forall a (d :: Dimension).
Fractional a =>
Prefix -> Unit 'Metric d a -> Unit 'NonMetric d a
applyPrefix Prefix
I.pico
femto :: Unit 'Metric d a -> Unit 'NonMetric d a
femto = Prefix -> Unit 'Metric d a -> Unit 'NonMetric d a
forall a (d :: Dimension).
Fractional a =>
Prefix -> Unit 'Metric d a -> Unit 'NonMetric d a
applyPrefix Prefix
I.femto
atto :: Unit 'Metric d a -> Unit 'NonMetric d a
atto = Prefix -> Unit 'Metric d a -> Unit 'NonMetric d a
forall a (d :: Dimension).
Fractional a =>
Prefix -> Unit 'Metric d a -> Unit 'NonMetric d a
applyPrefix Prefix
I.atto
zepto :: Unit 'Metric d a -> Unit 'NonMetric d a
zepto = Prefix -> Unit 'Metric d a -> Unit 'NonMetric d a
forall a (d :: Dimension).
Fractional a =>
Prefix -> Unit 'Metric d a -> Unit 'NonMetric d a
applyPrefix Prefix
I.zepto
yocto :: Unit 'Metric d a -> Unit 'NonMetric d a
yocto = Prefix -> Unit 'Metric d a -> Unit 'NonMetric d a
forall a (d :: Dimension).
Fractional a =>
Prefix -> Unit 'Metric d a -> Unit 'NonMetric d a
applyPrefix Prefix
I.yocto
metre, meter :: Num a => Unit 'Metric DLength a
metre :: Unit 'Metric DLength a
metre = UnitName 'Metric
-> Integer -> Unit 'NonMetric DLength a -> Unit 'Metric DLength a
forall a (m :: Metricality) (m1 :: Metricality) (d :: Dimension).
Num a =>
UnitName m -> Integer -> Unit m1 d a -> Unit m d a
mkUnitZ UnitName 'Metric
I.nMeter Integer
1 Unit 'NonMetric DLength a
forall (d :: Dimension) a.
(KnownDimension d, Num a) =>
Unit 'NonMetric d a
siUnit
meter :: Unit 'Metric DLength a
meter = Unit 'Metric DLength a
forall a. Num a => Unit 'Metric DLength a
metre
gram :: Fractional a => Unit 'Metric DMass a
gram :: Unit 'Metric DMass a
gram = UnitName 'Metric
-> Ratio Integer -> Unit 'NonMetric DMass a -> Unit 'Metric DMass a
forall a (m :: Metricality) (m1 :: Metricality) (d :: Dimension).
Fractional a =>
UnitName m -> Ratio Integer -> Unit m1 d a -> Unit m d a
mkUnitQ UnitName 'Metric
I.nGram Ratio Integer
1e-3 Unit 'NonMetric DMass a
forall (d :: Dimension) a.
(KnownDimension d, Num a) =>
Unit 'NonMetric d a
siUnit
second :: Num a => Unit 'Metric DTime a
second :: Unit 'Metric DTime a
second = UnitName 'Metric
-> Integer -> Unit 'NonMetric DTime a -> Unit 'Metric DTime a
forall a (m :: Metricality) (m1 :: Metricality) (d :: Dimension).
Num a =>
UnitName m -> Integer -> Unit m1 d a -> Unit m d a
mkUnitZ UnitName 'Metric
I.nSecond Integer
1 Unit 'NonMetric DTime a
forall (d :: Dimension) a.
(KnownDimension d, Num a) =>
Unit 'NonMetric d a
siUnit
ampere :: Num a => Unit 'Metric DElectricCurrent a
ampere :: Unit 'Metric DElectricCurrent a
ampere = UnitName 'Metric
-> Integer
-> Unit 'NonMetric DElectricCurrent a
-> Unit 'Metric DElectricCurrent a
forall a (m :: Metricality) (m1 :: Metricality) (d :: Dimension).
Num a =>
UnitName m -> Integer -> Unit m1 d a -> Unit m d a
mkUnitZ UnitName 'Metric
I.nAmpere Integer
1 Unit 'NonMetric DElectricCurrent a
forall (d :: Dimension) a.
(KnownDimension d, Num a) =>
Unit 'NonMetric d a
siUnit
kelvin :: Num a => Unit 'Metric DThermodynamicTemperature a
kelvin :: Unit 'Metric DThermodynamicTemperature a
kelvin = UnitName 'Metric
-> Integer
-> Unit 'NonMetric DThermodynamicTemperature a
-> Unit 'Metric DThermodynamicTemperature a
forall a (m :: Metricality) (m1 :: Metricality) (d :: Dimension).
Num a =>
UnitName m -> Integer -> Unit m1 d a -> Unit m d a
mkUnitZ UnitName 'Metric
I.nKelvin Integer
1 Unit 'NonMetric DThermodynamicTemperature a
forall (d :: Dimension) a.
(KnownDimension d, Num a) =>
Unit 'NonMetric d a
siUnit
mole :: Num a => Unit 'Metric DAmountOfSubstance a
mole :: Unit 'Metric DAmountOfSubstance a
mole = UnitName 'Metric
-> Integer
-> Unit 'NonMetric DAmountOfSubstance a
-> Unit 'Metric DAmountOfSubstance a
forall a (m :: Metricality) (m1 :: Metricality) (d :: Dimension).
Num a =>
UnitName m -> Integer -> Unit m1 d a -> Unit m d a
mkUnitZ UnitName 'Metric
I.nMole Integer
1 Unit 'NonMetric DAmountOfSubstance a
forall (d :: Dimension) a.
(KnownDimension d, Num a) =>
Unit 'NonMetric d a
siUnit
candela :: Num a => Unit 'Metric DLuminousIntensity a
candela :: Unit 'Metric DLuminousIntensity a
candela = UnitName 'Metric
-> Integer
-> Unit 'NonMetric DLuminousIntensity a
-> Unit 'Metric DLuminousIntensity a
forall a (m :: Metricality) (m1 :: Metricality) (d :: Dimension).
Num a =>
UnitName m -> Integer -> Unit m1 d a -> Unit m d a
mkUnitZ UnitName 'Metric
I.nCandela Integer
1 Unit 'NonMetric DLuminousIntensity a
forall (d :: Dimension) a.
(KnownDimension d, Num a) =>
Unit 'NonMetric d a
siUnit
radian :: Num a => Unit 'Metric DPlaneAngle a
radian :: Unit 'Metric DPlaneAngle a
radian = UnitName 'Metric
-> Integer
-> Unit 'NonMetric DPlaneAngle a
-> Unit 'Metric DPlaneAngle a
forall a (m :: Metricality) (m1 :: Metricality) (d :: Dimension).
Num a =>
UnitName m -> Integer -> Unit m1 d a -> Unit m d a
mkUnitZ ([Char] -> [Char] -> [Char] -> UnitName 'Metric
ucumMetric [Char]
"rad" [Char]
"rad" [Char]
"radian") Integer
1 Unit 'NonMetric DPlaneAngle a
forall (d :: Dimension) a.
(KnownDimension d, Num a) =>
Unit 'NonMetric d a
siUnit
steradian :: Num a => Unit 'Metric DSolidAngle a
steradian :: Unit 'Metric DPlaneAngle a
steradian = UnitName 'Metric
-> Integer
-> Unit 'NonMetric DPlaneAngle a
-> Unit 'Metric DPlaneAngle a
forall a (m :: Metricality) (m1 :: Metricality) (d :: Dimension).
Num a =>
UnitName m -> Integer -> Unit m1 d a -> Unit m d a
mkUnitZ ([Char] -> [Char] -> [Char] -> UnitName 'Metric
ucumMetric [Char]
"sr" [Char]
"sr" [Char]
"steradian") Integer
1 Unit 'NonMetric DPlaneAngle a
forall (d :: Dimension) a.
(KnownDimension d, Num a) =>
Unit 'NonMetric d a
siUnit
hertz :: Num a => Unit 'Metric DFrequency a
hertz :: Unit 'Metric DFrequency a
hertz = UnitName 'Metric
-> Integer
-> Unit 'NonMetric DFrequency a
-> Unit 'Metric DFrequency a
forall a (m :: Metricality) (m1 :: Metricality) (d :: Dimension).
Num a =>
UnitName m -> Integer -> Unit m1 d a -> Unit m d a
mkUnitZ ([Char] -> [Char] -> [Char] -> UnitName 'Metric
ucumMetric [Char]
"Hz" [Char]
"Hz" [Char]
"Hertz") Integer
1 (Unit 'NonMetric DFrequency a -> Unit 'Metric DFrequency a)
-> Unit 'NonMetric DFrequency a -> Unit 'Metric DFrequency a
forall a b. (a -> b) -> a -> b
$ Unit 'NonMetric DFrequency a
forall (d :: Dimension) a.
(KnownDimension d, Num a) =>
Unit 'NonMetric d a
siUnit
newton :: Num a => Unit 'Metric DForce a
newton :: Unit 'Metric DForce a
newton = UnitName 'Metric
-> Integer -> Unit 'NonMetric DForce a -> Unit 'Metric DForce a
forall a (m :: Metricality) (m1 :: Metricality) (d :: Dimension).
Num a =>
UnitName m -> Integer -> Unit m1 d a -> Unit m d a
mkUnitZ ([Char] -> [Char] -> [Char] -> UnitName 'Metric
ucumMetric [Char]
"N" [Char]
"N" [Char]
"Newton") Integer
1 (Unit 'NonMetric DForce a -> Unit 'Metric DForce a)
-> Unit 'NonMetric DForce a -> Unit 'Metric DForce a
forall a b. (a -> b) -> a -> b
$ Unit 'NonMetric DForce a
forall (d :: Dimension) a.
(KnownDimension d, Num a) =>
Unit 'NonMetric d a
siUnit
pascal :: Num a => Unit 'Metric DPressure a
pascal :: Unit 'Metric DPressure a
pascal = UnitName 'Metric
-> Integer
-> Unit 'NonMetric DPressure a
-> Unit 'Metric DPressure a
forall a (m :: Metricality) (m1 :: Metricality) (d :: Dimension).
Num a =>
UnitName m -> Integer -> Unit m1 d a -> Unit m d a
mkUnitZ ([Char] -> [Char] -> [Char] -> UnitName 'Metric
ucumMetric [Char]
"Pa" [Char]
"Pa" [Char]
"Pascal") Integer
1 (Unit 'NonMetric DPressure a -> Unit 'Metric DPressure a)
-> Unit 'NonMetric DPressure a -> Unit 'Metric DPressure a
forall a b. (a -> b) -> a -> b
$ Unit 'NonMetric DPressure a
forall (d :: Dimension) a.
(KnownDimension d, Num a) =>
Unit 'NonMetric d a
siUnit
joule :: Num a => Unit 'Metric DEnergy a
joule :: Unit 'Metric DEnergy a
joule = UnitName 'Metric
-> Integer -> Unit 'NonMetric DEnergy a -> Unit 'Metric DEnergy a
forall a (m :: Metricality) (m1 :: Metricality) (d :: Dimension).
Num a =>
UnitName m -> Integer -> Unit m1 d a -> Unit m d a
mkUnitZ ([Char] -> [Char] -> [Char] -> UnitName 'Metric
ucumMetric [Char]
"J" [Char]
"J" [Char]
"Joule") Integer
1 (Unit 'NonMetric DEnergy a -> Unit 'Metric DEnergy a)
-> Unit 'NonMetric DEnergy a -> Unit 'Metric DEnergy a
forall a b. (a -> b) -> a -> b
$ Unit 'NonMetric DEnergy a
forall (d :: Dimension) a.
(KnownDimension d, Num a) =>
Unit 'NonMetric d a
siUnit
watt :: Num a => Unit 'Metric DPower a
watt :: Unit 'Metric DPower a
watt = UnitName 'Metric
-> Integer -> Unit 'NonMetric DPower a -> Unit 'Metric DPower a
forall a (m :: Metricality) (m1 :: Metricality) (d :: Dimension).
Num a =>
UnitName m -> Integer -> Unit m1 d a -> Unit m d a
mkUnitZ ([Char] -> [Char] -> [Char] -> UnitName 'Metric
ucumMetric [Char]
"W" [Char]
"W" [Char]
"Watt") Integer
1 (Unit 'NonMetric DPower a -> Unit 'Metric DPower a)
-> Unit 'NonMetric DPower a -> Unit 'Metric DPower a
forall a b. (a -> b) -> a -> b
$ Unit 'NonMetric DPower a
forall (d :: Dimension) a.
(KnownDimension d, Num a) =>
Unit 'NonMetric d a
siUnit
coulomb :: Num a => Unit 'Metric DElectricCharge a
coulomb :: Unit 'Metric DElectricCharge a
coulomb = UnitName 'Metric
-> Integer
-> Unit 'NonMetric DElectricCharge a
-> Unit 'Metric DElectricCharge a
forall a (m :: Metricality) (m1 :: Metricality) (d :: Dimension).
Num a =>
UnitName m -> Integer -> Unit m1 d a -> Unit m d a
mkUnitZ ([Char] -> [Char] -> [Char] -> UnitName 'Metric
ucumMetric [Char]
"C" [Char]
"C" [Char]
"Coulomb") Integer
1 (Unit 'NonMetric DElectricCharge a
-> Unit 'Metric DElectricCharge a)
-> Unit 'NonMetric DElectricCharge a
-> Unit 'Metric DElectricCharge a
forall a b. (a -> b) -> a -> b
$ Unit 'NonMetric DElectricCharge a
forall (d :: Dimension) a.
(KnownDimension d, Num a) =>
Unit 'NonMetric d a
siUnit
volt :: Num a => Unit 'Metric DElectricPotential a
volt :: Unit 'Metric DElectricPotential a
volt = UnitName 'Metric
-> Integer
-> Unit 'NonMetric DElectricPotential a
-> Unit 'Metric DElectricPotential a
forall a (m :: Metricality) (m1 :: Metricality) (d :: Dimension).
Num a =>
UnitName m -> Integer -> Unit m1 d a -> Unit m d a
mkUnitZ ([Char] -> [Char] -> [Char] -> UnitName 'Metric
ucumMetric [Char]
"V" [Char]
"V" [Char]
"Volt") Integer
1 (Unit 'NonMetric DElectricPotential a
-> Unit 'Metric DElectricPotential a)
-> Unit 'NonMetric DElectricPotential a
-> Unit 'Metric DElectricPotential a
forall a b. (a -> b) -> a -> b
$ Unit 'NonMetric DElectricPotential a
forall (d :: Dimension) a.
(KnownDimension d, Num a) =>
Unit 'NonMetric d a
siUnit
farad :: Num a => Unit 'Metric DCapacitance a
farad :: Unit 'Metric DCapacitance a
farad = UnitName 'Metric
-> Integer
-> Unit 'NonMetric DCapacitance a
-> Unit 'Metric DCapacitance a
forall a (m :: Metricality) (m1 :: Metricality) (d :: Dimension).
Num a =>
UnitName m -> Integer -> Unit m1 d a -> Unit m d a
mkUnitZ ([Char] -> [Char] -> [Char] -> UnitName 'Metric
ucumMetric [Char]
"F" [Char]
"F" [Char]
"Farad") Integer
1 (Unit 'NonMetric DCapacitance a -> Unit 'Metric DCapacitance a)
-> Unit 'NonMetric DCapacitance a -> Unit 'Metric DCapacitance a
forall a b. (a -> b) -> a -> b
$ Unit 'NonMetric DCapacitance a
forall (d :: Dimension) a.
(KnownDimension d, Num a) =>
Unit 'NonMetric d a
siUnit
ohm :: Num a => Unit 'Metric DElectricResistance a
ohm :: Unit 'Metric DElectricResistance a
ohm = UnitName 'Metric
-> Integer
-> Unit 'NonMetric DElectricResistance a
-> Unit 'Metric DElectricResistance a
forall a (m :: Metricality) (m1 :: Metricality) (d :: Dimension).
Num a =>
UnitName m -> Integer -> Unit m1 d a -> Unit m d a
mkUnitZ ([Char] -> [Char] -> [Char] -> UnitName 'Metric
ucumMetric [Char]
"Ohm" [Char]
"Ω" [Char]
"Ohm") Integer
1 (Unit 'NonMetric DElectricResistance a
-> Unit 'Metric DElectricResistance a)
-> Unit 'NonMetric DElectricResistance a
-> Unit 'Metric DElectricResistance a
forall a b. (a -> b) -> a -> b
$ Unit 'NonMetric DElectricResistance a
forall (d :: Dimension) a.
(KnownDimension d, Num a) =>
Unit 'NonMetric d a
siUnit
siemens :: Num a => Unit 'Metric DElectricConductance a
siemens :: Unit 'Metric DElectricConductance a
siemens = UnitName 'Metric
-> Integer
-> Unit 'NonMetric DElectricConductance a
-> Unit 'Metric DElectricConductance a
forall a (m :: Metricality) (m1 :: Metricality) (d :: Dimension).
Num a =>
UnitName m -> Integer -> Unit m1 d a -> Unit m d a
mkUnitZ ([Char] -> [Char] -> [Char] -> UnitName 'Metric
ucumMetric [Char]
"S" [Char]
"S" [Char]
"Siemens") Integer
1 (Unit 'NonMetric DElectricConductance a
-> Unit 'Metric DElectricConductance a)
-> Unit 'NonMetric DElectricConductance a
-> Unit 'Metric DElectricConductance a
forall a b. (a -> b) -> a -> b
$ Unit 'NonMetric DElectricConductance a
forall (d :: Dimension) a.
(KnownDimension d, Num a) =>
Unit 'NonMetric d a
siUnit
weber :: Num a => Unit 'Metric DMagneticFlux a
weber :: Unit 'Metric DMagneticFlux a
weber = UnitName 'Metric
-> Integer
-> Unit 'NonMetric DMagneticFlux a
-> Unit 'Metric DMagneticFlux a
forall a (m :: Metricality) (m1 :: Metricality) (d :: Dimension).
Num a =>
UnitName m -> Integer -> Unit m1 d a -> Unit m d a
mkUnitZ ([Char] -> [Char] -> [Char] -> UnitName 'Metric
ucumMetric [Char]
"Wb" [Char]
"Wb" [Char]
"Weber") Integer
1 (Unit 'NonMetric DMagneticFlux a -> Unit 'Metric DMagneticFlux a)
-> Unit 'NonMetric DMagneticFlux a -> Unit 'Metric DMagneticFlux a
forall a b. (a -> b) -> a -> b
$ Unit 'NonMetric DMagneticFlux a
forall (d :: Dimension) a.
(KnownDimension d, Num a) =>
Unit 'NonMetric d a
siUnit
tesla :: Num a => Unit 'Metric DMagneticFluxDensity a
tesla :: Unit 'Metric DMagneticFluxDensity a
tesla = UnitName 'Metric
-> Integer
-> Unit 'NonMetric DMagneticFluxDensity a
-> Unit 'Metric DMagneticFluxDensity a
forall a (m :: Metricality) (m1 :: Metricality) (d :: Dimension).
Num a =>
UnitName m -> Integer -> Unit m1 d a -> Unit m d a
mkUnitZ ([Char] -> [Char] -> [Char] -> UnitName 'Metric
ucumMetric [Char]
"T" [Char]
"T" [Char]
"Tesla") Integer
1 (Unit 'NonMetric DMagneticFluxDensity a
-> Unit 'Metric DMagneticFluxDensity a)
-> Unit 'NonMetric DMagneticFluxDensity a
-> Unit 'Metric DMagneticFluxDensity a
forall a b. (a -> b) -> a -> b
$ Unit 'NonMetric DMagneticFluxDensity a
forall (d :: Dimension) a.
(KnownDimension d, Num a) =>
Unit 'NonMetric d a
siUnit
henry :: Num a => Unit 'Metric DInductance a
henry :: Unit 'Metric DInductance a
henry = UnitName 'Metric
-> Integer
-> Unit 'NonMetric DInductance a
-> Unit 'Metric DInductance a
forall a (m :: Metricality) (m1 :: Metricality) (d :: Dimension).
Num a =>
UnitName m -> Integer -> Unit m1 d a -> Unit m d a
mkUnitZ ([Char] -> [Char] -> [Char] -> UnitName 'Metric
ucumMetric [Char]
"H" [Char]
"H" [Char]
"Henry") Integer
1 (Unit 'NonMetric DInductance a -> Unit 'Metric DInductance a)
-> Unit 'NonMetric DInductance a -> Unit 'Metric DInductance a
forall a b. (a -> b) -> a -> b
$ Unit 'NonMetric DInductance a
forall (d :: Dimension) a.
(KnownDimension d, Num a) =>
Unit 'NonMetric d a
siUnit
lumen :: Num a => Unit 'Metric DLuminousFlux a
lumen :: Unit 'Metric DLuminousIntensity a
lumen = UnitName 'Metric
-> Integer
-> Unit 'NonMetric DLuminousIntensity a
-> Unit 'Metric DLuminousIntensity a
forall a (m :: Metricality) (m1 :: Metricality) (d :: Dimension).
Num a =>
UnitName m -> Integer -> Unit m1 d a -> Unit m d a
mkUnitZ ([Char] -> [Char] -> [Char] -> UnitName 'Metric
ucumMetric [Char]
"lm" [Char]
"lm" [Char]
"lumen") Integer
1 (Unit 'NonMetric DLuminousIntensity a
-> Unit 'Metric DLuminousIntensity a)
-> Unit 'NonMetric DLuminousIntensity a
-> Unit 'Metric DLuminousIntensity a
forall a b. (a -> b) -> a -> b
$ Unit 'NonMetric DLuminousIntensity a
forall (d :: Dimension) a.
(KnownDimension d, Num a) =>
Unit 'NonMetric d a
siUnit
lux :: Num a => Unit 'Metric DIlluminance a
lux :: Unit 'Metric DIlluminance a
lux = UnitName 'Metric
-> Integer
-> Unit 'NonMetric DIlluminance a
-> Unit 'Metric DIlluminance a
forall a (m :: Metricality) (m1 :: Metricality) (d :: Dimension).
Num a =>
UnitName m -> Integer -> Unit m1 d a -> Unit m d a
mkUnitZ ([Char] -> [Char] -> [Char] -> UnitName 'Metric
ucumMetric [Char]
"lx" [Char]
"lx" [Char]
"lux") Integer
1 (Unit 'NonMetric DIlluminance a -> Unit 'Metric DIlluminance a)
-> Unit 'NonMetric DIlluminance a -> Unit 'Metric DIlluminance a
forall a b. (a -> b) -> a -> b
$ Unit 'NonMetric DIlluminance a
forall (d :: Dimension) a.
(KnownDimension d, Num a) =>
Unit 'NonMetric d a
siUnit
degreeCelsius :: Num a => Unit 'Metric DCelsiusTemperature a
degreeCelsius :: Unit 'Metric DThermodynamicTemperature a
degreeCelsius = Unit 'Metric DThermodynamicTemperature a
forall a. Num a => Unit 'Metric DThermodynamicTemperature a
kelvin
fromDegreeCelsiusAbsolute :: Floating a => a -> ThermodynamicTemperature a
fromDegreeCelsiusAbsolute :: a -> ThermodynamicTemperature a
fromDegreeCelsiusAbsolute a
x = a
x a
-> Unit 'Metric DThermodynamicTemperature a
-> ThermodynamicTemperature a
forall a (m :: Metricality) (d :: Dimension).
Num a =>
a -> Unit m d a -> Quantity d a
*~ Unit 'Metric DThermodynamicTemperature a
forall a. Num a => Unit 'Metric DThermodynamicTemperature a
degreeCelsius ThermodynamicTemperature a
-> ThermodynamicTemperature a -> ThermodynamicTemperature a
forall a (d :: Dimension).
Num a =>
Quantity d a -> Quantity d a -> Quantity d a
+ a
273.15 a
-> Unit 'Metric DThermodynamicTemperature a
-> ThermodynamicTemperature a
forall a (m :: Metricality) (d :: Dimension).
Num a =>
a -> Unit m d a -> Quantity d a
*~ Unit 'Metric DThermodynamicTemperature a
forall a. Num a => Unit 'Metric DThermodynamicTemperature a
degreeCelsius
toDegreeCelsiusAbsolute :: Floating a => ThermodynamicTemperature a -> a
toDegreeCelsiusAbsolute :: ThermodynamicTemperature a -> a
toDegreeCelsiusAbsolute ThermodynamicTemperature a
x = (ThermodynamicTemperature a
x ThermodynamicTemperature a
-> ThermodynamicTemperature a -> ThermodynamicTemperature a
forall a (d :: Dimension).
Num a =>
Quantity d a -> Quantity d a -> Quantity d a
- a
273.15 a
-> Unit 'Metric DThermodynamicTemperature a
-> ThermodynamicTemperature a
forall a (m :: Metricality) (d :: Dimension).
Num a =>
a -> Unit m d a -> Quantity d a
*~ Unit 'Metric DThermodynamicTemperature a
forall a. Num a => Unit 'Metric DThermodynamicTemperature a
degreeCelsius) ThermodynamicTemperature a
-> Unit 'Metric DThermodynamicTemperature a -> a
forall a (d :: Dimension) (m :: Metricality).
Fractional a =>
Quantity d a -> Unit m d a -> a
/~ Unit 'Metric DThermodynamicTemperature a
forall a. Num a => Unit 'Metric DThermodynamicTemperature a
degreeCelsius
becquerel :: Num a => Unit 'Metric DActivity a
becquerel :: Unit 'Metric DFrequency a
becquerel = UnitName 'Metric
-> Integer
-> Unit 'NonMetric DFrequency a
-> Unit 'Metric DFrequency a
forall a (m :: Metricality) (m1 :: Metricality) (d :: Dimension).
Num a =>
UnitName m -> Integer -> Unit m1 d a -> Unit m d a
mkUnitZ ([Char] -> [Char] -> [Char] -> UnitName 'Metric
ucumMetric [Char]
"Bq" [Char]
"Bq" [Char]
"Becquerel") Integer
1 (Unit 'NonMetric DFrequency a -> Unit 'Metric DFrequency a)
-> Unit 'NonMetric DFrequency a -> Unit 'Metric DFrequency a
forall a b. (a -> b) -> a -> b
$ Unit 'NonMetric DFrequency a
forall (d :: Dimension) a.
(KnownDimension d, Num a) =>
Unit 'NonMetric d a
siUnit
gray :: Num a => Unit 'Metric DAbsorbedDose a
gray :: Unit 'Metric DAbsorbedDose a
gray = UnitName 'Metric
-> Integer
-> Unit 'NonMetric DAbsorbedDose a
-> Unit 'Metric DAbsorbedDose a
forall a (m :: Metricality) (m1 :: Metricality) (d :: Dimension).
Num a =>
UnitName m -> Integer -> Unit m1 d a -> Unit m d a
mkUnitZ ([Char] -> [Char] -> [Char] -> UnitName 'Metric
ucumMetric [Char]
"Gy" [Char]
"Gy" [Char]
"Gray") Integer
1 (Unit 'NonMetric DAbsorbedDose a -> Unit 'Metric DAbsorbedDose a)
-> Unit 'NonMetric DAbsorbedDose a -> Unit 'Metric DAbsorbedDose a
forall a b. (a -> b) -> a -> b
$ Unit 'NonMetric DAbsorbedDose a
forall (d :: Dimension) a.
(KnownDimension d, Num a) =>
Unit 'NonMetric d a
siUnit
sievert :: Num a => Unit 'Metric DDoseEquivalent a
sievert :: Unit 'Metric DAbsorbedDose a
sievert = UnitName 'Metric
-> Integer
-> Unit 'NonMetric DAbsorbedDose a
-> Unit 'Metric DAbsorbedDose a
forall a (m :: Metricality) (m1 :: Metricality) (d :: Dimension).
Num a =>
UnitName m -> Integer -> Unit m1 d a -> Unit m d a
mkUnitZ ([Char] -> [Char] -> [Char] -> UnitName 'Metric
ucumMetric [Char]
"Sv" [Char]
"Sv" [Char]
"Sievert") Integer
1 (Unit 'NonMetric DAbsorbedDose a -> Unit 'Metric DAbsorbedDose a)
-> Unit 'NonMetric DAbsorbedDose a -> Unit 'Metric DAbsorbedDose a
forall a b. (a -> b) -> a -> b
$ Unit 'NonMetric DAbsorbedDose a
forall (d :: Dimension) a.
(KnownDimension d, Num a) =>
Unit 'NonMetric d a
siUnit
katal :: Num a => Unit 'Metric DCatalyticActivity a
katal :: Unit 'Metric DCatalyticActivity a
katal = UnitName 'Metric
-> Integer
-> Unit 'NonMetric DCatalyticActivity a
-> Unit 'Metric DCatalyticActivity a
forall a (m :: Metricality) (m1 :: Metricality) (d :: Dimension).
Num a =>
UnitName m -> Integer -> Unit m1 d a -> Unit m d a
mkUnitZ ([Char] -> [Char] -> [Char] -> UnitName 'Metric
ucumMetric [Char]
"kat" [Char]
"kat" [Char]
"katal") Integer
1 (Unit 'NonMetric DCatalyticActivity a
-> Unit 'Metric DCatalyticActivity a)
-> Unit 'NonMetric DCatalyticActivity a
-> Unit 'Metric DCatalyticActivity a
forall a b. (a -> b) -> a -> b
$ Unit 'NonMetric DCatalyticActivity a
forall (d :: Dimension) a.
(KnownDimension d, Num a) =>
Unit 'NonMetric d a
siUnit
minute, hour, day :: Num a => Unit 'NonMetric DTime a
minute :: Unit 'NonMetric DTime a
minute = UnitName 'NonMetric
-> Integer -> Unit 'Metric DTime a -> Unit 'NonMetric DTime a
forall a (m :: Metricality) (m1 :: Metricality) (d :: Dimension).
Num a =>
UnitName m -> Integer -> Unit m1 d a -> Unit m d a
mkUnitZ ([Char] -> [Char] -> [Char] -> UnitName 'NonMetric
ucum [Char]
"min" [Char]
"min" [Char]
"minute") Integer
60 (Unit 'Metric DTime a -> Unit 'NonMetric DTime a)
-> Unit 'Metric DTime a -> Unit 'NonMetric DTime a
forall a b. (a -> b) -> a -> b
$ Unit 'Metric DTime a
forall a. Num a => Unit 'Metric DTime a
second
hour :: Unit 'NonMetric DTime a
hour = UnitName 'NonMetric
-> Integer -> Unit 'NonMetric DTime a -> Unit 'NonMetric DTime a
forall a (m :: Metricality) (m1 :: Metricality) (d :: Dimension).
Num a =>
UnitName m -> Integer -> Unit m1 d a -> Unit m d a
mkUnitZ ([Char] -> [Char] -> [Char] -> UnitName 'NonMetric
ucum [Char]
"h" [Char]
"h" [Char]
"hour") Integer
60 (Unit 'NonMetric DTime a -> Unit 'NonMetric DTime a)
-> Unit 'NonMetric DTime a -> Unit 'NonMetric DTime a
forall a b. (a -> b) -> a -> b
$ Unit 'NonMetric DTime a
forall a. Num a => Unit 'NonMetric DTime a
minute
day :: Unit 'NonMetric DTime a
day = UnitName 'NonMetric
-> Integer -> Unit 'NonMetric DTime a -> Unit 'NonMetric DTime a
forall a (m :: Metricality) (m1 :: Metricality) (d :: Dimension).
Num a =>
UnitName m -> Integer -> Unit m1 d a -> Unit m d a
mkUnitZ ([Char] -> [Char] -> [Char] -> UnitName 'NonMetric
ucum [Char]
"d" [Char]
"d" [Char]
"day") Integer
24 (Unit 'NonMetric DTime a -> Unit 'NonMetric DTime a)
-> Unit 'NonMetric DTime a -> Unit 'NonMetric DTime a
forall a b. (a -> b) -> a -> b
$ Unit 'NonMetric DTime a
forall a. Num a => Unit 'NonMetric DTime a
hour
degree, arcminute, arcsecond :: Floating a => Unit 'NonMetric DPlaneAngle a
degree :: Unit 'NonMetric DPlaneAngle a
degree = UnitName 'NonMetric
-> ExactPi
-> Unit 'Metric DPlaneAngle a
-> Unit 'NonMetric DPlaneAngle a
forall a (m :: Metricality) (m1 :: Metricality) (d :: Dimension).
Floating a =>
UnitName m -> ExactPi -> Unit m1 d a -> Unit m d a
mkUnitR ([Char] -> [Char] -> [Char] -> UnitName 'NonMetric
ucum [Char]
"deg" [Char]
"°" [Char]
"degree") (ExactPi
forall a. Floating a => a
Prelude.pi ExactPi -> ExactPi -> ExactPi
forall a. Fractional a => a -> a -> a
Prelude./ ExactPi
180) (Unit 'Metric DPlaneAngle a -> Unit 'NonMetric DPlaneAngle a)
-> Unit 'Metric DPlaneAngle a -> Unit 'NonMetric DPlaneAngle a
forall a b. (a -> b) -> a -> b
$ Unit 'Metric DPlaneAngle a
forall a. Num a => Unit 'Metric DPlaneAngle a
radian
arcminute :: Unit 'NonMetric DPlaneAngle a
arcminute = UnitName 'NonMetric
-> ExactPi
-> Unit 'NonMetric DPlaneAngle a
-> Unit 'NonMetric DPlaneAngle a
forall a (m :: Metricality) (m1 :: Metricality) (d :: Dimension).
Floating a =>
UnitName m -> ExactPi -> Unit m1 d a -> Unit m d a
mkUnitR ([Char] -> [Char] -> [Char] -> UnitName 'NonMetric
ucum [Char]
"'" [Char]
"'" [Char]
"arcminute") (ExactPi -> ExactPi
forall a. Fractional a => a -> a
Prelude.recip ExactPi
60) (Unit 'NonMetric DPlaneAngle a -> Unit 'NonMetric DPlaneAngle a)
-> Unit 'NonMetric DPlaneAngle a -> Unit 'NonMetric DPlaneAngle a
forall a b. (a -> b) -> a -> b
$ Unit 'NonMetric DPlaneAngle a
forall a. Floating a => Unit 'NonMetric DPlaneAngle a
degreeOfArc
arcsecond :: Unit 'NonMetric DPlaneAngle a
arcsecond = UnitName 'NonMetric
-> ExactPi
-> Unit 'NonMetric DPlaneAngle a
-> Unit 'NonMetric DPlaneAngle a
forall a (m :: Metricality) (m1 :: Metricality) (d :: Dimension).
Floating a =>
UnitName m -> ExactPi -> Unit m1 d a -> Unit m d a
mkUnitR ([Char] -> [Char] -> [Char] -> UnitName 'NonMetric
ucum [Char]
"''" [Char]
"''" [Char]
"arcsecond") (ExactPi -> ExactPi
forall a. Fractional a => a -> a
Prelude.recip ExactPi
60) (Unit 'NonMetric DPlaneAngle a -> Unit 'NonMetric DPlaneAngle a)
-> Unit 'NonMetric DPlaneAngle a -> Unit 'NonMetric DPlaneAngle a
forall a b. (a -> b) -> a -> b
$ Unit 'NonMetric DPlaneAngle a
forall a. Floating a => Unit 'NonMetric DPlaneAngle a
minuteOfArc
degreeOfArc, minuteOfArc, secondOfArc :: Floating a => Unit 'NonMetric DPlaneAngle a
degreeOfArc :: Unit 'NonMetric DPlaneAngle a
degreeOfArc = Unit 'NonMetric DPlaneAngle a
forall a. Floating a => Unit 'NonMetric DPlaneAngle a
degree
secondOfArc :: Unit 'NonMetric DPlaneAngle a
secondOfArc = Unit 'NonMetric DPlaneAngle a
forall a. Floating a => Unit 'NonMetric DPlaneAngle a
arcsecond
minuteOfArc :: Unit 'NonMetric DPlaneAngle a
minuteOfArc = Unit 'NonMetric DPlaneAngle a
forall a. Floating a => Unit 'NonMetric DPlaneAngle a
arcminute
hectare :: Fractional a => Unit 'NonMetric DArea a
hectare :: Unit 'NonMetric DArea a
hectare = Unit 'NonMetric DLength a -> Unit 'NonMetric DArea a
forall a (m :: Metricality).
(Fractional a, Typeable m) =>
Unit m DLength a -> Unit 'NonMetric DArea a
square (Unit 'Metric DLength a -> Unit 'NonMetric DLength a
forall a (d :: Dimension).
Num a =>
Unit 'Metric d a -> Unit 'NonMetric d a
hecto Unit 'Metric DLength a
forall a. Num a => Unit 'Metric DLength a
meter)
litre, liter :: Fractional a => Unit 'Metric DVolume a
litre :: Unit 'Metric DVolume a
litre = UnitName 'Metric
-> Ratio Integer
-> Unit 'NonMetric DVolume a
-> Unit 'Metric DVolume a
forall a (m :: Metricality) (m1 :: Metricality) (d :: Dimension).
Fractional a =>
UnitName m -> Ratio Integer -> Unit m1 d a -> Unit m d a
mkUnitQ ([Char] -> [Char] -> [Char] -> UnitName 'Metric
ucumMetric [Char]
"L" [Char]
"L" [Char]
"litre") Ratio Integer
1 (Unit 'NonMetric DVolume a -> Unit 'Metric DVolume a)
-> Unit 'NonMetric DVolume a -> Unit 'Metric DVolume a
forall a b. (a -> b) -> a -> b
$ Unit 'Metric DLength a -> Unit 'NonMetric DLength a
forall a (d :: Dimension).
Fractional a =>
Unit 'Metric d a -> Unit 'NonMetric d a
deci Unit 'Metric DLength a
forall a. Num a => Unit 'Metric DLength a
meter Unit 'NonMetric DLength a
-> Proxy 'Pos3
-> Dimensional (Weaken ('DUnit 'NonMetric)) (DLength ^ 'Pos3) a
forall a (i :: TypeInt) (v :: Variant) (d1 :: Dimension).
(Fractional a, KnownTypeInt i, KnownVariant v,
KnownVariant (Weaken v)) =>
Dimensional v d1 a -> Proxy i -> Dimensional (Weaken v) (d1 ^ i) a
^ Proxy 'Pos3
pos3
liter :: Unit 'Metric DVolume a
liter = Unit 'Metric DVolume a
forall a. Fractional a => Unit 'Metric DVolume a
litre
tonne, metricTon :: Num a => Unit 'Metric DMass a
tonne :: Unit 'Metric DMass a
tonne = UnitName 'Metric
-> Integer -> Unit 'NonMetric DMass a -> Unit 'Metric DMass a
forall a (m :: Metricality) (m1 :: Metricality) (d :: Dimension).
Num a =>
UnitName m -> Integer -> Unit m1 d a -> Unit m d a
mkUnitZ ([Char] -> [Char] -> [Char] -> UnitName 'Metric
ucumMetric [Char]
"t" [Char]
"t" [Char]
"tonne") Integer
1000 (Unit 'NonMetric DMass a -> Unit 'Metric DMass a)
-> Unit 'NonMetric DMass a -> Unit 'Metric DMass a
forall a b. (a -> b) -> a -> b
$ Unit 'NonMetric DMass a
forall (d :: Dimension) a.
(KnownDimension d, Num a) =>
Unit 'NonMetric d a
siUnit
metricTon :: Unit 'Metric DMass a
metricTon = Unit 'Metric DMass a
forall a. Num a => Unit 'Metric DMass a
tonne
astronomicalUnit :: Num a => Unit 'NonMetric DLength a
astronomicalUnit :: Unit 'NonMetric DLength a
astronomicalUnit = UnitName 'NonMetric
-> Integer -> Unit 'Metric DLength a -> Unit 'NonMetric DLength a
forall a (m :: Metricality) (m1 :: Metricality) (d :: Dimension).
Num a =>
UnitName m -> Integer -> Unit m1 d a -> Unit m d a
mkUnitZ ([Char] -> [Char] -> [Char] -> UnitName 'NonMetric
ucum [Char]
"au" [Char]
"au" [Char]
"astronomical unit") Integer
149597870700 (Unit 'Metric DLength a -> Unit 'NonMetric DLength a)
-> Unit 'Metric DLength a -> Unit 'NonMetric DLength a
forall a b. (a -> b) -> a -> b
$ Unit 'Metric DLength a
forall a. Num a => Unit 'Metric DLength a
meter