k      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abc d e fghijkl m n o p q r s t u v w x y z { | } ~                                     ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                                                                                                                                  !"#$% & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d efghijklmnopqrstuvwxyz{|}~(Copyright (C) 2006-2018 Bjorn BuckwalterBSD3bjorn@buckwalter.seStableGHC onlySafe167@mDimensional values inhabit this class, which allows access to a term-level representation of their dimension.;Obtains a term-level representation of a value's dimension.Dimensional values, or those that are only possibly dimensional, inhabit this class, which allows access to a term-level representation of their dimension.HGets the 'DynamicDimension of a dynamic dimensional value, which may be 6 if it does not represent a dimensional value of any  Dimension.EA default implementation is available for types that are also in the  typeclass.JThe dimension of a dynamic value, which may not have any dimension at all.!The value has no valid dimension."The value has the given dimension. 5The value may be interpreted as having any dimension. A physical dimension, encoded as 7 integers, representing a factorization of the dimension into the 7 SI base dimensions. By convention they are stored in the same order as in the  data kind.  Combines two s, determining the , of a quantity that must match both inputs.'This is the lattice meet operation for . !Determines if a value that has a  is compatible with a specified  .!Determines if a value that has a ( in fact has any valid dimension at all.&The dimension of dimensionless values.$Forms the product of two dimensions.%Forms the quotient of two dimensions.'Raises a dimension to an integer power.$Forms the reciprocal of a dimension.0Takes the nth root of a dimension, if it exists.n must not be zero.'nroot (negate n) d == nroot n (recip d)3Takes the square root of a dimension, if it exists.sqrt d == nroot 2 d1Takes the cube root of a dimension, if it exists.cbrt d == nroot 3 dConverts a dimension to a list of 7 integers, representing the exponent associated with each of the 7 SI base dimensions in the standard order..The monoid of dimensions under multiplication.      778(Copyright (C) 2006-2018 Bjorn BuckwalterBSD3bjorn@buckwalter.seStableGHC onlySafe +-;<=FSTVY^ 0wA KnownDimension is one for which we can construct a term-level representation. Each validly constructed type of kind @ has a 0 instance.While 0* is a constraint synonym, the presence of 0 d in a context allows use of  ::  d ->  .1Cube root is a special case of 3 with order 3.2!Square root is a special case of 3 with order 2.3hRoots of dimensions corresponds to division of the base dimensions' exponents by the order of the root.4fPowers of dimensions corresponds to multiplication of the base dimensions' exponents by the exponent.fWe limit ourselves to integer powers of Dimensionals as fractional powers make little physical sense.5CThe reciprocal of a dimension is defined as the result of dividing ?? by it, or of negating each of the base dimensions' exponents.6UDivision of dimensions corresponds to subtraction of the base dimensions' exponents.7VMultiplication of dimensions corresponds to adding of the base dimensions' exponents.?1The type-level dimension of dimensionless values.@Represents a physical dimension in the basis of the 7 SI base dimensions, where the respective dimensions are represented by type variables using the following convention: l: Lengthm: Masst: Timei: Electric currentth: Thermodynamic temperaturen: Amount of substancej: Luminous intensity2For the equivalent term-level representation, see  0123456789:;<=>?@A@A7645321?>=<;:980@A486777(Copyright (C) 2006-2018 Bjorn BuckwalterBSD3bjorn@buckwalter.seStableGHC onlySafe[! 0123456789:;<=>?@ASafe16eADDetermines the authority which issued the interchange name of a unit or unit name. For composite units, this is the least-authoritative interchange name of any constituent name.QNote that the least-authoritative authority is the one sorted as greatest by the  instance of K.KERepresents the authority which issued an interchange name for a unit.LKThe interchange name originated with the Unified Code for Units of Measure.M=The interchange name originated with the dimensional library.NGThe interchange name originated with a user of the dimensional library. DEFGHJIKLMN KLMNFGHIJDEDEFGHIJKLMN(Copyright (C) 2006-2018 Bjorn BuckwalterBSD3bjorn@buckwalter.seStableGHC onlyNone +-126FSTuq \Two `s are compatible when dimensional values of the first may be converted into the second merely by changing the representation of their values.Two `s are compatible when dimensional values of the first may be converted into the second merely by changing the representation of their values.] Weakens a `= by forgetting possibly uninteresting type-level information._Forms the product of two `s.*The product of units is a non-metric unit.(The product of quantities is a quantity.`+The kind of variants of dimensional values.a&The value is a quantity, stored as an ExactPi; multiple of its value in its dimension's SI coherent unit.b The value is a unit, possibly a d unit.czEncodes whether a unit is a metric unit, that is, whether it can be combined with a metric prefix to form a related unit.d%Capable of receiving a metric prefix.e'Incapable of receiving a metric prefix. \]^_`abcde `abcde_^]\`abcde_7None!&'-0126<FQVClnThe type of a unit name transformation that may be associated with an operation that takes two units as input.mrThe type of a unit name transformation that may be associated with an operation that takes a single unit as input.n0Represents the name of an atomic unit or prefix.!The interchange name of the unit.o9The abbreviated name of the unit in international Englishp2The full name of the unit in international EnglishrThe name of a metric prefix.s,The scale factor denoted by a metric prefix.tThe name of a metric prefix.uThe name of a unit.x-The name of the unit of dimensionless values.y@The name of the base unit associated with a specified dimension.zA list of all qes defined by the SI.{Forms a u from a d" name by applying a metric prefix.|Form a u% by taking the product of two others.}Form a u by dividing one by another.~Form a u' by raising a name to an integer power. Convert a u which may or may not be d to one which is certainly e.Attempt to convert a u which may or may not be d to one which is certainly d. Convert a u of one c into a name of another metricality by strengthening or weakening if neccessary. Because it may not be possible to strengthen, the result is returned in a  wrapper. Constructs a u. by applying a grouping operation to another u,, which may be useful to express precedence.,Constructs an atomic name for a custom unit.Forms the product of a list of us..If you wish to form a heterogenous product of d and e units you should apply  to the d ones.Interchange name)Abbreviated name in international English"Full name in international EnglishLlmnopqsrtuvwxyz{|}~nopqrsu |7}7~8 (Copyright (C) 2006-2018 Bjorn BuckwalterBSD3bjorn@buckwalter.seStableGHC onlyNonedcdelmnopqsrtuvwxyz{|}~ unopqrstcde{|}~wyzxrsmlpovNone-016;<=>?FKQSTV 'A KnownVariant is one whose term-level  values we can represent with an associated data family instance and manipulate with certain functions, not all of which are exported from the package.&Each validly constructed type of kind ` has a  instance.A dimensional value, either a  or a , parameterized by its @ and representation._A scale factor by which the numerical value of this dimensional value is implicitly multiplied.Maps over the underlying representation of a dimensional value. The caller is responsible for ensuring that the supplied function respects the dimensional abstraction. This means that the function must preserve numerical values, or linearly scale them while preserving the origin.%A dimensional quantity, stored as an ExactPi'; multiple of its value in its dimension's SI coherent unit.0The name is an abbreviation for scaled quantity.A dimensional quantity.A unit of measurement.A polymorphic  which can be used in place of the coherent SI base unit of any dimension. This allows polymorphic quantity creation and destruction without exposing the  constructor.Shows the value of a  expressed in a specified  of the same @.*showIn watt $ (37 *~ volt) * (4 *~ ampere) "148.0 W" s of a given @ form a  under addition. s of a given @ form a  under addition.(Copyright (C) 2006-2018 Bjorn BuckwalterBSD3bjorn@buckwalter.se Experimental GHC only?NoneUnwraps a possibly-scaled ), yielding its underlying representation.%This is a type-restricted version of .(Copyright (C) 2006-2018 Bjorn BuckwalterBSD3bjorn@buckwalter.seStableGHC onlyNone+-0126;<=FGKQSTV' Extracts the u of a .Extracts the exact value of a :, expressed in terms of the SI coherent derived unit (see ) of the same @.nNote that the actual value may in some cases be approximate, for example if the unit is defined by experiment.=Discards potentially unwanted type level information about a .Attempts to convert a  which may or may not be d to one which is certainly d.Forms the exact version of a .Forms a % by multipliying a number and a unit. Divides a  by a g of the same physical dimension, obtaining the numerical value of the quantity expressed in that unit.Multiplies two  s or two s.mThe intimidating type signature captures the similarity between these operations and ensures that composite s are e. Divides one  by another or one  by another.mThe intimidating type signature captures the similarity between these operations and ensures that composite s are  NotPrefixable.Forms the reciprocal of a %, which has the reciprocal dimension.recip $ 47 *~ hertz2.127659574468085e-2 s Raises a  or  to an integer power.%Because the power chosen impacts the @h of the result, it is necessary to supply a type-level representation of the exponent in the form of a  to some TypeInt. Convenience values pos1, , neg1, ... are supplied by the Numeric.NumType.DK.Integers= module. The most commonly used ones are also reexported by !Numeric.Units.Dimensional.Prelude.mThe intimidating type signature captures the similarity between these operations and ensures that composite s are  NotPrefixable.Negates the value of a . Adds two s.Subtracts one  from another.Takes the absolute value of a .Takes the sign of a . The functions  and  satisy the law that: abs x * signum x == xThe sign is either  negate _1 (negative), _0 (zero), or _1 (positive).Computes the nth root of a  using .The 3} type family will prevent application of this operator where the result would have a fractional dimension or where n is zero.$Because the root chosen impacts the @d of the result, it is necessary to supply a type-level representation of the root in the form of a  to some TypeInt. Convenience values pos1, , neg1, ... are supplied by the Numeric.NumType.DK.Integers= module. The most commonly used ones are also reexported by !Numeric.Units.Dimensional.Prelude.9n must not be zero. Negative roots are defined such that Inroot (Proxy :: Proxy (Negate n)) x == nroot (Proxy :: Proxy n) (recip x).%Also available in operator form, see .Computes the square root of a  using .The 3c type family will prevent application where the supplied quantity does not have a square dimension.3(x :: Area Double) >= _0 ==> sqrt x == nroot pos2 xComputes the cube root of a  using .The 3b type family will prevent application where the supplied quantity does not have a cubic dimension.5(x :: Volume Double) >= _0 ==> cbrt x == nroot pos3 xComputes the nth root of a  using .The 3} type family will prevent application of this operator where the result would have a fractional dimension or where n is zero.$Because the root chosen impacts the @d of the result, it is necessary to supply a type-level representation of the root in the form of a  to some TypeInt. Convenience values pos1, , neg1, ... are supplied by the Numeric.NumType.DK.Integers= module. The most commonly used ones are also reexported by !Numeric.Units.Dimensional.Prelude.#Also available in prefix form, see .Applies  to all values in a functor.Applies  to all values in a functor.0The sum of all elements in a foldable structure.sum ([] :: [Mass Double])0.0 kgsum [12.4 *~ meter, 1 *~ foot] 12.7048 m4The product of all elements in a foldable structure.&product ([] :: [Dimensionless Double])1.0product [pi, _4, 0.36 *~ one]4.523893421169302<The arithmetic mean of all elements in a foldable structure. mean [pi, _7]5.070796326794897/The length of the foldable data structure as a @. This can be useful for purposes of e.g. calculating averages."dimensionlessLength ["foo", "bar"]22Returns a list of quantities between given bounds.Dn <= 0 ==> nFromTo (x :: Mass Double) (y :: Mass Double) n == [x, y]](x :: Length Double) <= (y :: Length Double) ==> all (\z -> x <= z && z <= y) (nFromTo x y n)nFromTo _0 _3 2[0.0,1.0,2.0,3.0]nFromTo _1 _0 7/[1.0,0.875,0.75,0.625,0.5,0.375,0.25,0.125,0.0]nFromTo _0 _1 (-5) [0.0,1.0]9Raises a dimensionless quantity to a dimensionless power.DTakes the logarithm of the second argument in the base of the first. logBase _2 _83.0The standard two argument arctangent function. Since it interprets its two arguments in comparison with one another, the input may have any dimension. atan2 _0 _10.0 atan2 _1 _01.5707963267948966atan2 _0 (negate _1)3.141592653589793atan2 (negate _1) _0-1.5707963267948966 The unit  has dimension ?. and is the base unit of dimensionless values.cAs detailed in 7.10 "Values of quantities expressed simply as numbers: the unit one, symbol 1" of  #note1[1]` the unit one generally does not appear in expressions. However, for us it is necessary to use M as we would any other unit to perform the "boxing" of dimensionless values.BThe constant for zero is polymorphic, allowing it to express zero  or   or   etc, in addition to the  value zero.Twice .For background on  see  http://tauday.com/tau-manifesto (but also feel free to review  http://www.thepimanifesto.com).VConvenient conversion between numerical types while retaining dimensional information.%let x = (37 :: Rational) *~ poundMasschangeRep x :: Mass Double16.78291769 kg^Convenient conversion from exactly represented values while retaining dimensional information. Converts a  into a lens from  s to values.Forms a new atomic  by specifying its u- and its definition as a multiple of another .NUse this variant when the scale factor of the resulting unit is irrational or . See  for when it is rational and  for when it is an integer.Note that supplying zero as a definining quantity is invalid, as the library relies upon units forming a group under multiplication.Supplying negative defining quantities is allowed and handled gracefully, but is discouraged on the grounds that it may be unexpected by other readers.Forms a new atomic  by specifying its u- and its definition as a multiple of another .NUse this variant when the scale factor of the resulting unit is rational. See  for when it is an integer and  for the general case.For more information see .Forms a new atomic  by specifying its u- and its definition as a multiple of another .PUse this variant when the scale factor of the resulting unit is an integer. See  for when it is rational and  for the general case.For more information see .The initial value.The final value.XThe number of intermediate values. If less than one, no intermediate values will result.g 0123456789:;<=>?@Acdegcde@A7643215 0?>=<;:98 77778668778 (Copyright (C) 2006-2018 Bjorn BuckwalterBSD3bjorn@buckwalter.seStableGHC onlyNone-'iConstructs a unit of area from a unit of length, taking the area of a square whose sides are that length.)64 *~ square meter == (8 *~ meter) ^ pos2TruekConstructs a unit of volume from a unit of length, taking the volume of a cube whose sides are that length.(64 *~ cubic meter == (4 *~ meter) ^ pos3True      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~}{xwusqomjiedc`_\[WVUSQOMKIGECA=<;54321/-+)'%"!   ~|zyvtrpnlkhgfba^]ZYXTRPNLJHFDB@?>:98760.,*(&$#    (Copyright (C) 2006-2018 Bjorn BuckwalterBSD3bjorn@buckwalter.seStableGHC onlyNone!-QV/dGqzGqz(Copyright (C) 2006-2018 Bjorn BuckwalterBSD3bjorn@buckwalter.seStableGHC onlyNone3 T      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ 0123456789:;<=>?@Acdeqz      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ (Copyright (C) 2006-2018 Bjorn BuckwalterBSD3bjorn@buckwalter.seStableGHC onlyNone!-<4rOne gee is the standard value of the acceleration due to gravity at the Earth's surface, as standardized by CIPM.]Note that local values of acceleration due to gravity will differ from the standard gravity.See  .https://en.wikipedia.org/wiki/Standard_gravityhere for further information.1 *~ gee9.80665 m s^-2!1 *~ gee :: Acceleration Rational196133 % 20000 m s^-28One international foot is one third of an international .See  @https://en.wikipedia.org/wiki/Foot_%28unit%29#International_foothere for further information. 1 *~ foot0.3048 m3 *~ foot === 1 *~ yard1 *~ foot :: Length Rational 381 % 1250 mOne inch is one twelth of a .(This inch is based on the international .See  9https://en.wikipedia.org/wiki/Inch#Modern_standardisationhere for further information. 1 *~ inch 2.54e-2 m12 *~ inch === 1 *~ foot1 *~ inch :: Length Rational 127 % 5000 m One mil is one thousandth of an .'This mil is based on the international .See  3https://en.wikipedia.org/wiki/Thousandth_of_an_inchhere for further information.1 *~ mil 2.54e-5 m1000 *~ mil === 1 *~ inch1 *~ mil :: Length Rational127 % 5000000 mNOne yard, as defined by international agreement in 1959, is precisely 0.9144 .See  "https://en.wikipedia.org/wiki/Yardhere for further information. 1 *~ yard0.9144 m1 *~ yard :: Length Rational 1143 % 1250 mOne mile is 5280 feet.(This mile is based on the international .See  5https://en.wikipedia.org/wiki/Mile#International_milehere for further information. 1 *~ mile 1609.344 m1 *~ mile === 5280 *~ foot1 *~ mile :: Length Rational201168 % 125 mOne acre is 43560 square feet.(This acre is based on the international 1. For the acre based on the US Survey Foot, see . While both acres are in use, the difference between them is of little consequence for most applications in which either is used.See  Xhttps://en.wikipedia.org/wiki/Acre#Differences_between_international_and_US_survey_acreshere for further information. 1 *~ acre4046.8564224 m^2"1 *~ acre === 43560 *~ foot ^ pos21 *~ acre :: Area Rational316160658 % 78125 m^2 One US survey foot is 1200/3937 . For the international foot, see F. Note that this is not the foot in routine use in the United States.See  <https://en.wikipedia.org/wiki/Foot_%28unit%29#US_survey_foothere for further information.1 *~ usSurveyFoot0.3048006096012192 m$1 *~ usSurveyFoot :: Length Rational 1200 % 3937 m!One inch is one twelth of a foot.This inch is based on the 5. For the inch based on the international foot, see E. Note that this is not the inch in routine use in the United States.See  "https://en.wikipedia.org/wiki/Inchhere for further information.1 *~ usSurveyInch2.54000508001016e-2 m(12 *~ usSurveyInch === 1 *~ usSurveyFoot$1 *~ usSurveyInch :: Length Rational 100 % 3937 m%One mil is one thousandth of an inch.This mil is based on the 4. For the mil based on the international inch, see D. Note that this is not the mil in routine use in the United States.See  3https://en.wikipedia.org/wiki/Thousandth_of_an_inchhere for further information.1 *~ usSurveyMil2.54000508001016e-5 m)1000 *~ usSurveyMil === 1 *~ usSurveyInch#1 *~ usSurveyMil :: Length Rational 1 % 39370 mOne yard is three feet.This yard is based on the #. For the international yard, see E. Note that this is not the yard in routine use in the United States.See  "https://en.wikipedia.org/wiki/Yardhere for further information.1 *~ usSurveyYard0.9144018288036576 m'1 *~ usSurveyYard === 3 *~ usSurveyFoot$1 *~ usSurveyYard :: Length Rational 3600 % 3937 m+One US survey mile is 5280 US survey feet.This mile is based on the 5. For the mile based on the international foot, see E. Note that this is not the mile in routine use in the United States.See  1https://en.wikipedia.org/wiki/Mile#US_survey_milehere for further information.1 *~ usSurveyMile1609.3472186944373 m*1 *~ usSurveyMile === 5280 *~ usSurveyFoot$1 *~ usSurveyMile :: Length Rational6336000 % 3937 mOne acre is 43560 square feet.This acre is based on the 5. For the acre based on the international foot, see . While both acres are in use, the difference between them is of little consequence for most applications in which either is used. This is the only acre defined by the UCUM.See  Xhttps://en.wikipedia.org/wiki/Acre#Differences_between_international_and_US_survey_acreshere for further information.1 *~ usSurveyAcre4046.872609874252 m^221 *~ usSurveyAcre === 43560 *~ usSurveyFoot ^ pos2"1 *~ usSurveyAcre :: Area Rational62726400000 % 15499969 m^2One avoirdupois pound is a mass, exactly defined in terms of the kilogram by the international yard and pound agreement of 1959.See  >https://en.wikipedia.org/wiki/Avoirdupois#Internationalizationhere for further information.1 *~ poundMass 0.45359237 kg1 *~ poundMass :: Mass Rational45359237 % 100000000 kg,One avoirdupois ounce is one sixteenth of a .See  Chttps://en.wikipedia.org/wiki/Ounce#International_avoirdupois_ouncehere for further information. 1 *~ ounce2.8349523125e-2 kg16 *~ ounce === 1 *~ poundMass1 *~ ounce :: Mass Rational45359237 % 1600000000 kgOne short ton is two thousand .See  5https://en.wikipedia.org/wiki/Short_ton#United_Stateshere for further information. 1 *~ shortTon 907.18474 kg1 *~ shortTon :: Mass Rational45359237 % 50000 kgxThe pound-force is equal to the gravitational force exerted on a mass of one avoirdupois pound on the surface of Earth.2This definition is based on standard gravity (the %) and the international avoirdupois .See  /https://en.wikipedia.org/wiki/Pound_%28force%29here for further information.1 *~ poundForce4.4482216152605 m kg s^-2/1 *~ poundForce === 1 *~ poundMass * (1 *~ gee)!1 *~ poundForce :: Force Rational'8896443230521 % 2000000000000 m kg s^-2XOne mechanical horsepower is by definition the power necessary to apply a force of 550  through a distance of one  per .See  >https://en.wikipedia.org/wiki/Horsepower#Mechanical_horsepowerhere for further information.1 *~ horsepower745.6998715822702 m^2 kg s^-3C1 *~ horsepower === 550 *~ poundForce * (1 *~ foot) / (1 *~ second)!1 *~ horsepower :: Power Rational.37284993579113511 % 50000000000000 m^2 kg s^-3The slug is a unit of mass associated with Imperial units and United States customary units. It is a mass that accelerates by 1 foot per second per second when a force of one pound is exerted on it.2This definition is based on standard gravity (the ), the international $, and the international avoirdupois .See  -https://en.wikipedia.org/wiki/Slug_%28mass%29here for further information. 1 *~ slug14.593902937206364 kg1 *~ slug :: Mass Rational8896443230521 % 609600000000 kgOne psi is a pressure of one  per   of area.See  4https://en.wikipedia.org/wiki/Pounds_per_square_inchhere for further information.1 *~ psi6894.757293168362 m^-1 kg s^-21 *~ psi :: Pressure Rational'8896443230521 % 1290320000 m^-1 kg s^-2dOne nautical mile is a unit of length, set by international agreement as being exactly 1852 meters.hHistorically, it was defined as the distance spanned by one minute of arc along a meridian of the Earth.See  +https://en.wikipedia.org/wiki/Nautical_milehere for further information.1 *~ nauticalMile1852.0 m$1 *~ nauticalMile :: Length Rational 1852 % 1 m$One knot is a velocity equal to one  per .See  -https://en.wikipedia.org/wiki/Knot_%28unit%29here for further information. 1 *~ knot0.5144444444444445 m s^-11 *~ knot :: Velocity Rational463 % 900 m s^-1@One revolution is an angle equal to 2 pi radians; a full circle.See  1https://en.wikipedia.org/wiki/Turn_%28geometry%29here for further information.1 *~ revolution6.283185307179586+1 *~ revolution === _2 * pi * (1 *~ radian)!1 *~ revolution === 360 *~ degreeOne btu is is the c5 required to raise the temperature of 1 avoirdupois  of liquid water by 1  at a constant pressure of one .Because this value must be determined experimentally and varies with temperature, several standardized values of the btu have arisen. This is the value based on the International Steam Table calorie, defined by the Fifth International Conference on the Properties of Steam.See  >https://en.wikipedia.org/wiki/British_thermal_unit#Definitionshere for further information.1 *~ btu1055.05585262 m^2 kg s^-21 *~ btu :: Energy Rational"52752792631 % 50000000 m^2 kg s^-2_One mean Julian year is a unit of measurement of time defined as exactly 365.25 days of 86400 s each.See  9https://en.wikipedia.org/wiki/Julian_year_%28astronomy%29here for further information. 1 *~ year 3.15576e7 s1 *~ year :: Time Rational31557600 % 1 s3One mean Julian century is one hundred mean Julian s. 1 *~ century 3.15576e9 s1 *~ century :: Time Rational3155760000 % 1 sThe bar is exactly 100000  .From Wikipedia:DIt is about equal to the atmospheric pressure on Earth at sea level.1 *~ bar100000.0 m^-1 kg s^-21 *~ bar :: Pressure Rational100000 % 1 m^-1 kg s^-2The "standard atmosphere".From Wikipedia  #note3[3]:The standard atmosphere (atm) is an established constant. It is approximately equal to typical air pressure at earth mean sea level.1 *~ atmosphere101325.0 m^-1 kg s^-2$1 *~ atmosphere :: Pressure Rational101325 % 1 m^-1 kg s^-2The "technical atmosphere"From Wikipedia:uA technical atmosphere (symbol: at) is a non-SI unit of pressure equal to one kilogram-force per square centimeter.1 *~ technicalAtmosphere98066.5 m^-1 kg s^-2-1 *~ technicalAtmosphere :: Pressure Rational196133 % 2 m^-1 kg s^-2QThe conventional value for the pressure exerted by a 1 mm high column of mercury.Per Wikipedia  #note4[4]1, one mmHg (millimeter of mercury) is defined as:The pressure exerted at the base of a column of fluid exactly 1 mm high, when the density of the fluid is exactly 13.5951 g/cm^3, at a place where the acceleration of gravity is exactly 9.80665 m/s^2.The chosen fluid density approximately corresponds to that of mercury at 0 deg. Under most conditions, 1 mmHg is approximately equal to 1 . 1 *~ mmHg133.322 m^-1 kg s^-21 *~ mmHg :: Pressure Rational66661 % 500 m^-1 kg s^-2SThe conventional value for the pressure exerted by a 1 inch high column of mercury.Column inches of mercury are also used to measure pressure, especially in meteorological or aeronautical contexts in the United States.FThis is the value defined by UCUM. For the value defined by NIST, see . 1 *~ inHg3386.3788 m^-1 kg s^-21 *~ inHg :: Pressure Rational8465947 % 2500 m^-1 kg s^-2SThe conventional value for the pressure exerted by a 1 inch high column of mercury.Column inches of mercury are also used to measure pressure, especially in meteorological or aeronautical contexts in the United States.FThis is the value defined by UCUM. For the value defined by NIST, see .1 *~ inHg_UCUM3386.3788 m^-1 kg s^-2#1 *~ inHg_UCUM :: Pressure Rational8465947 % 2500 m^-1 kg s^-2SThe conventional value for the pressure exerted by a 1 inch high column of mercury.Column inches of mercury are also used to measure pressure, especially in meteorological or aeronautical contexts in the United States.FThis is the value defined by NIST. For the value defined by UCUM, see .1 *~ inHg_NIST3386.389 m^-1 kg s^-2#1 *~ inHg_NIST :: Pressure Rational3386389 % 1000 m^-1 kg s^-2,One torr (symbol: Torr) is defined as 1/760 $, which is approximately equal to 1 .See  "https://en.wikipedia.org/wiki/Torrhere for further information. 1 *~ torr133.32236842105263 m^-1 kg s^-21 *~ torr :: Pressure Rational20265 % 152 m^-1 kg s^-2 The rad is a deprecated unit of =, defined as 0.01 .See  ,https://en.wikipedia.org/wiki/Rad_%28unit%29here for further information.1 *~ rad1.0e-2 m^2 s^-2!1 *~ rad :: AbsorbedDose Rational1 % 100 m^2 s^-2One Stokes is a unit of  equal to  1 cm^2 / s.See  Bhttps://en.wikipedia.org/wiki/Viscosity#Kinematic_viscosity_.CE.BDhere for further information. 1 *~ stokes1.0e-4 m^2 s^-1*1 *~ stokes :: KinematicViscosity Rational1 % 10000 m^2 s^-1EOne degree Fahrenheit is a unit of relative temperature equal to 5/9 .Note that although the Fahrenheit scale is an absolute temperature scale, this unit is a unit of difference within that scale and measures relative temperature.See  Chttps://en.wikipedia.org/wiki/Fahrenheit#Definition_and_conversionshere for further information.1 *~ degreeFahrenheit0.5555555555555556 K:1 *~ degreeFahrenheit :: ThermodynamicTemperature Rational5 % 9 KBOne degree Rankine is a unit of relative temperature equal to 5/9 .Note that although the Rankine scale is an absolute temperature scale, this unit is a unit of difference within that scale and measures relative temperature.See  +https://en.wikipedia.org/wiki/Rankine_scalehere for further information.1 *~ degreeRankine0.5555555555555556 K71 *~ degreeRankine :: ThermodynamicTemperature Rational5 % 9 K7One imperial gallon is defined exactly in terms of the ' by the Weights and Measures Act 1985.See  3https://en.wikipedia.org/wiki/Imperial_units#Volumehere for further information.1 *~ imperialGallon4.54609e-3 m^3&1 *~ imperialGallon :: Volume Rational454609 % 100000000 m^3(One imperial quart is one quarter of an .See  3https://en.wikipedia.org/wiki/Imperial_units#Volumehere for further information.1 *~ imperialQuart1.1365225e-3 m^3%1 *~ imperialQuart :: Volume Rational454609 % 400000000 m^3$One imperial pint is one half of an .See  3https://en.wikipedia.org/wiki/Imperial_units#Volumehere for further information.1 *~ imperialPint5.6826125e-4 m^3$1 *~ imperialPint :: Volume Rational454609 % 800000000 m^3#One imperial cup is one half of an .rThis unit is not in common use and is does not appear in some sources describing the imperial fluid volume units.See  9https://en.wikipedia.org/wiki/Cup_%28unit%29#Imperial_cuphere for further information.1 *~ imperialCup2.84130625e-4 m^3#1 *~ imperialCup :: Volume Rational454609 % 1600000000 m^3'One imperial gill is one quarter of an .See  3https://en.wikipedia.org/wiki/Imperial_units#Volumehere for further information.1 *~ imperialGill1.420653125e-4 m^3$1 *~ imperialGill :: Volume Rational454609 % 3200000000 m^30One imperial fluid ounce is one twentieth of an .See  3https://en.wikipedia.org/wiki/Imperial_units#Volumehere for further information.1 *~ imperialFluidOunce2.84130625e-5 m^3*1 *~ imperialFluidOunce :: Volume Rational454609 % 16000000000 m^35One US liquid gallon is a volume of 231 cubic inches.See  9https://en.wikipedia.org/wiki/Gallon#The_US_liquid_gallonhere for further information. 1 *~ usGallon3.785411784e-3 m^3 1 *~ usGallon :: Volume Rational473176473 % 125000000000 m^3(One US liquid quart is one quarter of a .See  Hhttps://en.wikipedia.org/wiki/United_States_customary_units#Fluid_volumehere for further information. 1 *~ usQuart9.46352946e-4 m^31 *~ usQuart :: Volume Rational473176473 % 500000000000 m^3 $One US liquid pint is one half of a .See  Hhttps://en.wikipedia.org/wiki/United_States_customary_units#Fluid_volumehere for further information. 1 *~ usPint4.73176473e-4 m^31 *~ usPint :: Volume Rational473176473 % 1000000000000 m^3 #One US liquid cup is one half of a  .See  Hhttps://en.wikipedia.org/wiki/United_States_customary_units#Fluid_volumehere for further information. 1 *~ usCup2.365882365e-4 m^31 *~ usCup :: Volume Rational473176473 % 2000000000000 m^3 $One US liquid gill is one half of a  .See  Hhttps://en.wikipedia.org/wiki/United_States_customary_units#Fluid_volumehere for further information. 1 *~ usGill1.1829411825e-4 m^31 *~ usGill :: Volume Rational473176473 % 4000000000000 m^3 One US fluid ounce is 1128  or 18  .See  Hhttps://en.wikipedia.org/wiki/United_States_customary_units#Fluid_volumehere for further information.1 *~ usFluidOunce2.95735295625e-5 m^3$1 *~ usFluidOunce :: Volume Rational473176473 % 16000000000000 m^3 One ngstrm is 1/10  .See  0https://en.wikipedia.org/wiki/%C3%85ngstr%C3%B6mhere for further information. 1 *~ angstrom 1.0e-10 m 1 *~ angstrom :: Length Rational1 % 10000000000 mOne Gauss is 1/10000 .See  .https://en.wikipedia.org/wiki/Gauss_%28unit%29here for further information. 1 *~ gauss1.0e-4 kg s^-2 A^-1*1 *~ gauss :: MagneticFluxDensity Rational1 % 10000 kg s^-2 A^-19     9     (Copyright (C) 2006-2018 Bjorn BuckwalterBSD3bjorn@buckwalter.seStableNoneVf\[ if the representation of the argument is too small to be represented in normalized format.\G if the representation of the argument is a number and is not infinite.isFiniteNumber (_1 / _0)FalseisFiniteNumber (_0 / _0)FalseisFiniteNumber (_3 / _2)True\P if the representation of the argument is an IEEE infinity or negative infinity.isInfinite (_1 / _0)TrueisInfinite (42 *~ micro farad)False\M if the representation of the argument is an IEEE "not-a-number" (NaN) value.isNaN _3FalseisNaN (_1 / _0)FalseisNaN (asin _4)True\@ if the representation of the argument is an IEEE negative zero.isNegativeZero _0False3isNegativeZero $ (-1e-200 *~ one) * (1e-200 *~ one)TrueaMultiplies a floating-point quantity by an integer power of the radix of the representation type.Use + to determine the radix.let x = 3 *~ meterscaleFloat 3 x24.0 m$An infinite floating-point quantity.PThe smallest representable positive quantity whose representation is normalized.9The largest representable finite floating-point quantity.The smallest positive value x such that _1 + x is representable. copySign x y returns the quantity x( with its sign changed to match that of y.Return \& if two floating-point quantities are exactly (bitwise) equal.?Return the next largest representable floating-point quantity (Infinity and NaN are unchanged).@Return the next smallest representable floating-point quantity (Infinity and NaN are unchanged).Given two floating-point quantities with the same sign, return the quantity whose representation is halfway between their representations on the IEEE number line. If the signs of the values differ or either is NaN, the value is undefined.Default NaN quantity.Quiet NaNF quantity with a positive integer payload. Payload must be less than  maxNaNPayload of the representation type.[Beware that while some platforms allow using 0 as a payload, this behavior is not portable. The payload stored in a NaN, quantity. Undefined if the argument is not NaN.!6Return the minimum of two quantities; if one value is NaN8, return the other. Prefer the first if both values are NaN."6Return the maximum of two quantities; if one value is NaN8, return the other. Prefer the first if both values are NaN.#6Return the minimum of two quantities; if one value is NaN1, return it. Prefer the first if both values are NaN.$6Return the maximum of two quantities; if one value is NaN1, return it. Prefer the first if both values are NaN. !"#$ !"#$ (Copyright (C) 2006-2018 Bjorn BuckwalterBSD3bjorn@buckwalter.se Experimental GHC only?None &'+-<QSTV(%;A single-turn angle represented as a signed 32-bit integer.&;A single-turn angle represented as a signed 16-bit integer.':A single-turn angle represented as a signed 8-bit integer.(A dimensionless number with n1 fractional bits, using a representation of type a.)A binary scale factor.*Adds two possibly scaled s, preserving any scale factor.Use in conjunction with W4 to combine quantities with differing scale factors.+Subtracts one possibly scaled + from another, preserving any scale factor.Use in conjunction with W4 to combine quantities with differing scale factors.,.Takes the absolute value of a possibly scaled , preserving any scale factor.-'Negates the value of a possibly scaled , preserving any scale factor..Applies P to all values in a functor./Applies Q to all values in a functor.0"The sum of all elements in a list.1.The arithmetic mean of all elements in a list.@The standard two argument arctangent function. Since it interprets its two arguments in comparison with one another, the input may have any dimension.OThe standard two argument arctangent function. Since it interprets its two arguments in comparison with one another, the input may have any dimension.uLift a function on dimensionless values of a specified intermediate type to operate on possibly scaled dimensionless.~Lift a periodic function on dimensionless values of a specified intermediate type to operate on possibly scaled dimensionless.If the scale factor of the input type is an exact integer divisor of the function's period, the argument will be clamped via an integer a operation prior to applying the function to avoid errors introduced by a floating point modulus.PForms a possibly scaled % by multipliying a number and a unit.QDivides a possibly scaled  by a g of the same physical dimension, obtaining the numerical value of the quantity expressed in that unit.RkRescales a fixed point quantity, accomodating changes both in its scale factor and its representation type.=Note that this uses an arbitrary precision representation of b, which may be quite slow.SkRescales a fixed point quantity, accomodating changes both in its scale factor and its representation type.Expected to outperform R when a J context is available for the source and destination representation types.TyApproximately rescales a fixed point quantity, accomodating changes both in its scale factor and its representation type.6Uses approximate arithmetic by way of an intermediate  ) type, to which a proxy must be supplied.UyApproximately rescales a fixed point quantity, accomodating changes both in its scale factor and its representation type.6Uses approximate arithmetic by way of an intermediate ^ representation.VVConvenient conversion between numerical types while retaining dimensional information.W$Convenient conversion to types with   representations using ;.XCThe constant for zero is polymorphic, allowing it to express zero  or S or  etc, in addition to the  value zero.cTwice b.For background on c see  http://tauday.com/tau-manifesto (but also feel free to review  http://www.thepimanifesto.com).dSThe least positive representable value in a given fixed-point scaled quantity type.r 03456789:;<=>?@Acde%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdrcde@A76435 0PQ*+-,23456789:;<=>?@ABCDEFGHIJKLMNO./01RSUTVW?>=<;:98XdYZ[\]^_`abc()'&%*6+6.7/7P7Q7(Copyright (C) 2006-2018 Bjorn BuckwalterBSD3bjorn@buckwalter.seStableGHC onlyNoneeA  instance for .dNote that this instance is dubious, because it allows you to break the dimensional abstraction. See  for more information.<Note that, while this instance overlaps with that given for %, it is confluent with that instance.%Note that this is an orphan instance.e(Copyright (C) 2006-2018 Bjorn BuckwalterBSD3bjorn@buckwalter.seStable GHC only?None -16;<=FVXfA  whose @ is only known dynamically.g Possibly a  whose @ is only known dynamically.;By modeling the absence of a value, this type differs from h in that it may not be a  of any @ whatsoever, but in exchange it gains instances for the common numeric classes. It's therefore useful for manipulating, and not merely storing, quantities of unknown dimension.This type also contains a n+, representing zero value of any dimension.Note that the  instance for g equates all representations of an invalid value, and also does not equate polydimensional zero with zero of any specific dimension.hA  whose @ is only known dynamically.i-The class of types that can be used to model s whose @s are only known dynamically.j-The class of types that can be used to model 8s that are certain to have a value with some dimension.kForgets information about a  or h, yielding an h or a g.l'Converts a dynamic quantity such as an h or a g into a , or to bL if the dynamic quantity cannot be represented in the narrower result type.mA g7 which does not correspond to a value of any dimension.nA g2 which corresponds to zero value of any dimension.,When combined through arithmetic with other gs, inference is performed. For example, adding a length to polydimensional zero produces that length. Adding two polydimensional zeros produces another. Taking the sine of a polydimensional zero interprets it as a dimensionless zero and produces a dimensionless result.Note that division by n produces a polydimensional result, which may be an error or some representation of infinity, as determined by the underlying arithmetic type. This behavior was chosen for consistency with the behavior of division by zero gs of a specific dimension.p2The dynamic SI coherent unit of a given dimension.q Converts a  of statically known @ into an f.r Converts a  of statically known @ into an f.%This is the same as the more general qd but is useful in certain circumstances to avoid needlessly introducing an ambiguous type variable.s Converts an f into a  of statically known @, or b! if the dimension does not match.The result is represented in 8, conversion to other representations is possible using .The result is always tagged as e, conversion to a d unit can be attempted using .t'Forms the reciprocal of a dynamic unit.u'Forms the product of two dynamic units.v(Forms the quotient of two dynamic units.w*Raises a dynamic unit to an integer power.x-Applies a prefix to a dynamic unit. Returns b if the  was e$ and thus could not accept a prefix.yEForms a dynamic quantity by multipliying a number and a dynamic unit.zDivides a dynamic quantity by a dynamic unit, obtaining the numerical value of the quantity expressed in that unit if they are of the same physical dimension, or b otherwise.{h s form a w under multiplication, but not under addition because they may not be added together if their dimensions do not match.|h s form a w under multiplication, but not under addition because they may not be added together if their dimensions do not match.g s form a w under multiplication, but not under addition because they may not be added together if their dimensions do not match.g s form a w under multiplication, but not under addition because they may not be added together if their dimensions do not match.f s form a  under multiplication.f s form a  under multiplication.(How the function operates on dimensions.$How the function operates on values. fghijklmnopqrstuvwxyzhgji lkyzmnfqsrpouvwtxfghij !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMN4O32PQRSTUVWXYZ[\]]^_`abcdefghijklmnopqrs32tuvwxyz{|}~234^2354678                                                                       ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X  Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                                                                                                                                     !"#$%& ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N OPQRSTUVWXYZ[\5234]^_`abcdefghijklmnopqrstuvwxyz{|}~~se`~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~ ~ ~ ~ ~~~~~~~~~~~~~~~~~ ~!~"~#~$~%~&'~&(~&)~&*~&+~,~-~./0/1/2/3/4/5/6789~:~;/</=/>/?~@/A/B~CD~CE~CF~G~H~I~J~K~L~M~N~O~P~Q~R~ST~UV~SW~SX~Y~Z~[~\~]~^~_~`~a~bc~bd~be~bf~gh~gi~Cj~kl~km~kn~o~p~qr~st~u~v~w~x~y~z~{~|~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  ~PQR&dimensional-1.1-FrwO52z7cgM7jRCbk3nsMF"Numeric.Units.Dimensional.CoercionNumeric.Units.Dimensional.FloatNumeric.Units.Dimensional!Numeric.Units.Dimensional.Dynamic.Numeric.Units.Dimensional.Dimensions.TermLevel.Numeric.Units.Dimensional.Dimensions.TypeLevel4Numeric.Units.Dimensional.UnitNames.InterchangeNames"Numeric.Units.Dimensional.Variants#Numeric.Units.Dimensional.UnitNames$Numeric.Units.Dimensional.FixedPoint$Numeric.Units.Dimensional.Quantities!Numeric.Units.Dimensional.SIUnitsNumeric.Units.Dimensional.NonSI!Numeric.Units.Dimensional.Functor Dimension$Numeric.Units.Dimensional.Dimensions,Numeric.Units.Dimensional.UnitNames.Internal"Numeric.Units.Dimensional.Internal CapacitanceVelocity!Numeric.Units.Dimensional.Preludepascalghc-primGHC.Primcoerce$ieee754-0.8.0-B9FdsnFZjDO5G55ttUSqU0 Numeric.IEEE maxNaNPayload HasDimension dimensionHasDynamicDimensiondynamicDimensionDynamicDimension NoDimension SomeDimension AnyDimension Dimension'Dim'matchDimensionsisCompatibleWithhasSomeDimensiondOnedLengthdMassdTimedElectricCurrentdThermodynamicTemperaturedAmountOfSubstancedLuminousIntensity*/^recipnrootsqrtcbrtasList$fMonoidDimension'$fSemigroupDimension'$fNFDataDimension'$fNFDataDynamicDimension$fHasDimensionDimension'$fHasDynamicDimensionDimension'%$fHasDynamicDimensionDynamicDimension$fShowDimension'$fEqDimension'$fOrdDimension'$fDataDimension'$fGenericDimension'$fEqDynamicDimension$fOrdDynamicDimension$fShowDynamicDimension$fDataDynamicDimension$fGenericDynamicDimensionKnownDimensionCbrtSqrtNRootRecipDLuminousIntensityDAmountOfSubstanceDThermodynamicTemperatureDElectricCurrentDTimeDMassDLengthDOneDim$fHasDimensionProxy$fHasDynamicDimensionProxyHasInterchangeNameinterchangeNameInterchangeNamename authorityisAtomicInterchangeNameAuthorityUCUMDimensionalLibraryCustom $fNFDataInterchangeNameAuthority$fShowInterchangeName$fNFDataInterchangeName#$fHasInterchangeNameInterchangeName$fEqInterchangeNameAuthority$fOrdInterchangeNameAuthority$fShowInterchangeNameAuthority$fDataInterchangeNameAuthority!$fGenericInterchangeNameAuthority$fEqInterchangeName$fOrdInterchangeName$fDataInterchangeName$fGenericInterchangeNameCompatibleVariantsWeakenVariant DQuantityDUnit MetricalityMetric NonMetric$fNFDataMetricality$fEqMetricality$fOrdMetricality$fDataMetricality$fGenericMetricality$fGenericVariantUnitNameTransformer2UnitNameTransformerNameAtomabbreviation_enname_enPrefix prefixName scaleFactor PrefixNameUnitNameasAtomicreducenOne baseUnitName siPrefixes applyPrefixweaken strengthenrelaxgroupedatomproduct KnownVariant Dimensionaldmap SQuantityQuantityUnitsiUnitshowIn unQuantityLuminousIntensityAmountOfSubstanceThermodynamicTemperatureElectricCurrentTimeMassLength Dimensionless exactValueexactify*~/~negate+-abssignum^/*~~/~~summeandimensionlessLengthnFromToexplogsincostanasinacosatansinhcoshtanhasinhacoshatanh**logBaseatan2one_0_1_2_3_4_5_6_7_8_9pitau changeRepchangeRepApproximateasLensmkUnitRmkUnitQmkUnitZDEnergyPerUnitMassEnergyPerUnitMassDTorqueTorqueDThrustThrustDAngleAngleJerkDJerkThermalInsulanceDThermalInsulanceThermalAdmittanceDThermalAdmittanceHeatTransferCoefficientDHeatTransferCoefficientThermalResistanceDThermalResistanceThermalConductanceDThermalConductanceThermalResistivityDThermalResistivityAngularMomentumDAngularMomentumMomentOfInertiaDMomentOfInertiaFirstMassMomentDFirstMassMomentKinematicViscosityDKinematicViscosityGravitationalParameterDGravitationalParameter VolumeFlow DVolumeFlowMassFlow DMassFlowMomentum DMomentumImpulseDImpulseAbsorbedDoseRateDAbsorbedDoseRateExposure DExposureMolarHeatCapacity MolarEntropyDMolarHeatCapacity DMolarEntropy MolarEnergy DMolarEnergy Permeability DPermeability Permittivity DPermittivityElectricFluxDensityDElectricFluxDensityElectricChargeDensityDElectricChargeDensityElectricFieldStrengthDElectricFieldStrength EnergyDensityDEnergyDensityThermalConductivityDThermalConductivitySpecificEntropySpecificHeatCapacityDSpecificEntropyDSpecificHeatCapacityEntropy HeatCapacityDEntropy DHeatCapacityRadiance DRadianceRadiantIntensityDRadiantIntensity IrradianceHeatFluxDensity DIrradianceDHeatFluxDensitySurfaceTensionDSurfaceTension MomentOfForceDMomentOfForceDynamicViscosityDDynamicViscosityAngularAccelerationDAngularAccelerationAngularVelocityDAngularVelocityCatalyticActivityDCatalyticActivityEquivalentDosePersonalDoseEquivalentDirectionalDoseEquivalentAmbientDoseEquivalentDoseEquivalentDEquivalentDoseDPersonalDoseEquivalentDDirectionalDoseEquivalentDAmbientDoseEquivalentDDoseEquivalentKermaSpecificEnergy AbsorbedDoseDKermaDSpecificEnergy DAbsorbedDoseActivity DActivityCelsiusTemperatureDCelsiusTemperature Illuminance DIlluminance LuminousFlux DLuminousFlux Inductance DInductanceMagneticFluxDensityDMagneticFluxDensity MagneticFlux DMagneticFluxElectricConductanceDElectricConductanceElectricResistanceDElectricResistance DCapacitanceElectromotiveForcePotentialDifferenceElectricPotentialDElectromotiveForceDPotentialDifferenceDElectricPotentialQuantityOfElectricityElectricChargeDQuantityOfElectricityDElectricCharge RadiantFluxPower DRadiantFluxDPowerQuantityOfHeatWorkEnergyDQuantityOfHeatDWorkDEnergyStressPressureDStress DPressureForceDForce Frequency DFrequency SolidAngle DSolidAngle PlaneAngle DPlaneAngle Luminance DLuminance ConcentrationAmountOfSubstanceConcentrationDConcentrationDAmountOfSubstanceConcentrationMagneticFieldStrengthDMagneticFieldStrengthCurrentDensityDCurrentDensitySpecificVolumeDSpecificVolumeDensity MassDensityDDensity DMassDensity WaveNumber DWaveNumber Acceleration DAcceleration DVelocityVolumeDVolumeAreaDAreasquarecubicdekadecahectokilomegagigaterapetaexazettayottadecicentimillimicronanopicofemtoattozeptoyoctometremetergramsecondamperekelvinmolecandelaradian steradianhertznewtonjoulewattcoulombvoltfaradohmsiemensweberteslahenrylumenlux degreeCelsiusfromDegreeCelsiusAbsolutetoDegreeCelsiusAbsolute becquerelgraysievertkatalminutehourdaydegree arcminute arcsecond degreeOfArc secondOfArc minuteOfArchectarelitrelitertonne metricTonastronomicalUnit electronVoltunifiedAtomicMassUnitdaltongeefootinchmilyardmileacre usSurveyFoot usSurveyInch usSurveyMil usSurveyYard usSurveyMile usSurveyAcre poundMassounceshortTon poundForce horsepowerslugpsi nauticalMileknot revolutionsolidteaspoonbtuyearcenturybar atmospheretechnicalAtmospheremmHginHg inHg_UCUM inHg_NISTtorrradstokesdegreeFahrenheit degreeRankineimperialGallon imperialQuart imperialPint imperialCup imperialGillimperialFluidOunceusGallonusQuartusPintusCupusGill usFluidOunceangstromgaussisDenormalizedisFiniteNumber isInfiniteisNaNisNegativeZero scaleFloatinfinity minNormal maxFiniteepsiloncopySign identicalIEEEsuccIEEEpredIEEE bisectIEEEnannanWithPayload nanPayloadminNummaxNumminNaNmaxNaNAngle32Angle16Angle8QQScaleexpDlogDsinDcosDtanDasinDacosDatanDsinhDcoshDtanhDasinhDacoshDatanhDatan2DexpVialogViasinViacosViatanViaasinViaacosViaatanViasinhViacoshViatanhViaasinhViaacoshViaatanhViaatan2Viarescale rescaleFinite rescaleViarescaleDchangeRepRound$fFunctorDimensionalAnyUnit DynQuantity AnyQuantity Promotable DemotabledemoteQuantitypromoteQuantityinvalidQuantitypolydimensionalZero anyUnitName demoteUnit demoteUnit' promoteUnit$fMonoidAnyQuantity$fSemigroupAnyQuantity$fNFDataAnyQuantity$fHasDimensionAnyQuantity $fHasDynamicDimensionAnyQuantity$fShowAnyQuantity$fDemotableAnyQuantity$fDemotableDimensional$fMonoidDynQuantity$fSemigroupDynQuantity$fFloatingDynQuantity$fFractionalDynQuantity$fNumDynQuantity $fHasDynamicDimensionDynQuantity$fShowDynQuantity$fNFDataDynQuantity$fEqDynQuantity$fPromotableDynQuantity$fPromotableAnyQuantity$fMonoidAnyUnit$fSemigroupAnyUnit$fHasInterchangeNameAnyUnit$fHasDimensionAnyUnit$fHasDynamicDimensionAnyUnit $fShowAnyUnit$fEqAnyQuantity$fDataAnyQuantity$fGenericAnyQuantity$fGeneric1AnyQuantity$fDataDynQuantity$fGenericDynQuantity$fGeneric1DynQuantity$fGenericAnyUnitbase Data.ProxyProxy GHC.ClassesOrd AreCompatible_interchangeNameGHC.BaseMaybe NameAtomType PrefixAtomUnitAtomGroupedQuotientPrefixedAtomic MetricAtomicOneProductisAtomicOrProductreduce'nMeternGram nKilogramnSecondnAmperenKelvinnMolenCandela baseUnitNamesprefix ucumMetricucumdimensionalAtom ScaleFactor$fMonoidDimensionalMonoid$fSemigroupDimensionalData.Semigroup Semigroup extractValue extractName injectValueliftDliftQliftD2liftQ2$fKnownVariantDUnitD:R:DimensionalDUnitda0$fKnownVariantDQuantityD:R:DimensionalDQuantityda0D:R:MVectorvDimensional0 MV_QuantityunMVQD:R:VectorDimensional0 V_QuantityunVQ)numtype-dk-0.5.0.1-Ljj7HC8NPWNLXH75Qh9jCoNumeric.NumType.DK.Integerspos2 GHC.Float'exact-pi-0.4.1.3-9n9GqWDBnkQAVoDnNmzltw Data.ExactPi Approximate++seqGHC.Listfilterzip System.IOprint Data.Tuplefstsnd otherwisemap$GHC.Real fromIntegral realToFracGHC.EnumBoundedminBoundmaxBoundEnumenumFrom enumFromThenenumFromThenTo enumFromTofromEnumtoEnumsuccpredEq==/=Floating Fractional fromRationalIntegral toIntegerquotremdivmodquotRemdivModMonad>>=>>returnfailFunctorfmap<$GHC.NumNum fromInteger>=minmax><<=compareGHC.ReadRead readsPrecreadListReal toRational RealFloat floatRadix floatDigits floatRange decodeFloat encodeFloatexponent significandisIEEERealFracproperFractiontruncateroundceilingfloorGHC.ShowShow showsPrecshowshowList Applicativepure<*>*><* Data.FoldableFoldablefoldrfoldMapnulllengthfoldlfoldl1foldr1elemmaximumminimumData.Traversable TraversabletraversemapM sequenceAsequencememptymappendmconcat GHC.TypesBoolFalseTrueCharDoubleFloatInt integer-gmpGHC.Integer.TypeIntegerNothingJustOrderingLTEQGTRationalIOWord Data.EitherEitherLeftRightreadIOreadLn appendFile writeFilereadFileinteract getContentsgetLinegetCharputStrLnputStrputCharGHC.IO.ExceptionioErrorGHC.IOFilePath userErrorIOErrornotElemallanyorand concatMapconcat sequence_mapM_ Data.OldListunwordswordsunlineslines Text.ReadreadreadseitherControl.CategoryCategoryid.lex readParenText.ParserCombinators.ReadPReadS Data.Functor<$>lcmgcd^^oddeven showParen showStringshowCharshowsShowSunzip3unzipzipWith3zipWithzip3!!lookupreversebreakspansplitAtdroptake dropWhile takeWhilecycle replicaterepeatiteratescanr1scanrscanl1scanlinitlasttailhead Data.MaybemaybeuncurrycurrysubtractasTypeOfuntil$!flipconst=<<StringGHC.Err undefinederrorWithoutStackTraceerror&&||notpos5pos4pos3pos1zeroneg1neg2neg3neg4neg5liftDimensionlessVialiftDimensionlessPeriodicVia Data.Bits FiniteBitsExactPiliftDQ promotableIn promotableOut demotableOut