!^)      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHI 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 rstu vwxyz{|}~                                                                                          ! " # $ % & ' ( ) * + , - . / 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 XYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~)Copyright (C) 2006-2018 Bjorn Buckwalter BSD3 bjorn@buckwalter.se Stable  GHC only Safe278Q4 dimensionalmDimensional values inhabit this class, which allows access to a term-level representation of their dimension. dimensional;Obtains a term-level representation of a value's dimension. dimensionalDimensional values, or those that are only possibly dimensional, inhabit this class, which allows access to a term-level representation of their dimension. dimensionalHGets 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. dimensionalJThe dimension of a dynamic value, which may not have any dimension at all. dimensional!The value has no valid dimension. dimensional"The value has the given dimension. dimensional5The value may be interpreted as having any dimension. dimensionalA 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. dimensional Combines two s, determining the , of a quantity that must match both inputs.'This is the lattice meet operation for . dimensional!Determines if a value that has a  is compatible with a specified . dimensional!Determines if a value that has a ( in fact has any valid dimension at all. dimensional&The dimension of dimensionless values. dimensional$Forms the product of two dimensions. dimensional%Forms the quotient of two dimensions. dimensional'Raises a dimension to an integer power. dimensional$Forms the reciprocal of a dimension. dimensional0Takes the nth root of a dimension, if it exists.n must not be zero.'nroot (negate n) d == nroot n (recip d)  dimensional3Takes the square root of a dimension, if it exists.sqrt d == nroot 2 d  dimensional1Takes the cube root of a dimension, if it exists.cbrt d == nroot 3 d  dimensionalConverts a dimension to a list of 7 integers, representing the exponent associated with each of the 7 SI base dimensions in the standard order.  dimensional.The monoid of dimensions under multiplication.      778)Copyright (C) 2006-2018 Bjorn Buckwalter BSD3 bjorn@buckwalter.se Stable  GHC only Safe ,.=>?HUVXkg  dimensionalwA KnownDimension is one for which we can construct a term-level representation. Each validly constructed type of kind - has a  instance.While * is a constraint synonym, the presence of  d in a context allows use of  ::  d -> . dimensionalCube root is a special case of   with order 3. dimensional!Square root is a special case of   with order 2.  dimensionalhRoots of dimensions corresponds to division of the base dimensions' exponents by the order of the root.! dimensionalfPowers 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." dimensionalCThe reciprocal of a dimension is defined as the result of dividing ,? by it, or of negating each of the base dimensions' exponents.# dimensionalUDivision of dimensions corresponds to subtraction of the base dimensions' exponents.$ dimensionalVMultiplication of dimensions corresponds to adding of the base dimensions' exponents., dimensional1The type-level dimension of dimensionless values.- dimensionalRepresents 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  !"#$%&'()*+,-.-.$#!" ,+*)('&%!8#7$7)Copyright (C) 2006-2018 Bjorn Buckwalter BSD3 bjorn@buckwalter.se Stable  GHC only Safem!  !"#$%&'()*+,-. Safe27xs1 dimensionalDetermines 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 8.8 dimensionalERepresents the authority which issued an interchange name for a unit.9 dimensionalKThe interchange name originated with the Unified Code for Units of Measure.: dimensional=The interchange name originated with the dimensional library.; dimensionalGThe interchange name originated with a user of the dimensional library. 123457689:; 89:;3457612 )Copyright (C) 2006-2018 Bjorn Buckwalter BSD3 bjorn@buckwalter.se Stable  GHC only Safe ,.237HUVR I dimensionalTwo Ms are compatible when dimensional values of the first may be converted into the second merely by changing the representation of their values. dimensionalTwo Ms are compatible when dimensional values of the first may be converted into the second merely by changing the representation of their values.J dimensional Weakens a M= by forgetting possibly uninteresting type-level information.L dimensionalForms the product of two Ms.*The product of units is a non-metric unit.(The product of quantities is a quantity.M dimensional+The kind of variants of dimensional values.N dimensional&The value is a quantity, stored as an ExactPi; multiple of its value in its dimension's SI coherent unit.O dimensional The value is a unit, possibly a Q unit.P dimensionalzEncodes whether a unit is a metric unit, that is, whether it can be combined with a metric prefix to form a related unit.Q dimensional%Capable of receiving a metric prefix.R dimensional'Incapable of receiving a metric prefix. IJKLMNOPQR MNOPQRLKJIL7None!&'.1237>HSX|Y dimensionalnThe type of a unit name transformation that may be associated with an operation that takes two units as input.Z dimensionalrThe type of a unit name transformation that may be associated with an operation that takes a single unit as input.[ dimensional0Represents the name of an atomic unit or prefix. dimensional!The interchange name of the unit.\ dimensional9The abbreviated name of the unit in international English] dimensional2The full name of the unit in international English_ dimensionalThe name of a metric prefix.` dimensional,The scale factor denoted by a metric prefix.a dimensionalThe name of a metric prefix.b dimensionalThe name of a unit.e dimensional-The name of the unit of dimensionless values.f dimensional@The name of the base unit associated with a specified dimension.g dimensionalA list of all ^es defined by the SI.h dimensionalForms a b from a Q" name by applying a metric prefix.i dimensionalForm a b% by taking the product of two others.j dimensionalForm a b by dividing one by another.k dimensionalForm a b' by raising a name to an integer power.l dimensional Convert a b which may or may not be Q to one which is certainly R.m dimensionalAttempt to convert a b which may or may not be Q to one which is certainly Q.n dimensional Convert a b of one P 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.o dimensional Constructs a b. by applying a grouping operation to another b,, which may be useful to express precedence.p dimensional,Constructs an atomic name for a custom unit.q dimensionalForms the product of a list of bs..If you wish to form a heterogenous product of Q and R units you should apply l to the Q ones. dimensionalb%s are shown with non-breaking spaces.p dimensionalInterchange name dimensional)Abbreviated name in international English dimensional"Full name in international EnglishLYZ[\]^`_abcdefghijklmnopqi7j7k8 )Copyright (C) 2006-2018 Bjorn Buckwalter BSD3 bjorn@buckwalter.se Stable  GHC only NonegrPQRYZ[\]^`_abcdefghijklmnopqb[^aPQRphijkqdofge_`ZYlmn]\cNone.127=>?@AHMSUVX r dimensional'A KnownVariant is one whose term-level s 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 M has a r instance.s dimensionalA dimensional value, either a v or a w, parameterized by its - and representation. dimensional_A scale factor by which the numerical value of this dimensional value is implicitly multiplied.t dimensionalMaps 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.u dimensional%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.v dimensionalA dimensional quantity.w dimensionalA unit of measurement.y dimensionalA polymorphic w 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 s constructor.z dimensionalShows the value of a v expressed in a specified w of the same -.RUses non-breaking spaces between the value and the unit, and within the unit name.5putStrLn $ showIn watt $ (37 *~ volt) * (4 *~ ampere)148.0W dimensionalv s of a given - form a 6 under addition. dimensionalv s of a given - form a 5 under addition. dimensional.Unit names are shown with non-breaking spaces. dimensionalRUses non-breaking spaces between the value and the unit, and within the unit name.rstsxuvwyz)Copyright (C) 2006-2018 Bjorn Buckwalter BSD3 bjorn@buckwalter.se  Experimental  GHC only? Noneͦ{ dimensionalUnwraps a possibly-scaled u), yielding its underlying representation.%This is a type-restricted version of  . sx{ sx{)Copyright (C) 2006-2018 Bjorn Buckwalter BSD3 bjorn@buckwalter.se Stable  GHC only None,.1237=>?HIMSUVXD' dimensional Extracts the b of a w. dimensionalExtracts the exact value of a w:, expressed in terms of the SI coherent derived unit (see y) of the same -.nNote that the actual value may in some cases be approximate, for example if the unit is defined by experiment. dimensional=Discards potentially unwanted type level information about a w. dimensionalAttempts to convert a w which may or may not be Q to one which is certainly Q. dimensionalForms the exact version of a w. dimensionalForms a v% by multipliying a number and a unit. dimensional Divides a v by a wg of the same physical dimension, obtaining the numerical value of the quantity expressed in that unit. dimensionalMultiplies two v s or two ws.mThe intimidating type signature captures the similarity between these operations and ensures that composite ws are R. dimensional Divides one v by another or one w by another.mThe intimidating type signature captures the similarity between these operations and ensures that composite ws are  NotPrefixable. dimensionalForms the reciprocal of a v%, which has the reciprocal dimension.recip $ 47 *~ hertz2.127659574468085e-2s dimensional Raises a v or w 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 ws are  NotPrefixable. dimensionalNegates the value of a v. dimensional Adds two vs. dimensionalSubtracts one v from another. dimensionalTakes the absolute value of a v. dimensionalTakes the sign of a v. The functions  and  satisy the law that: abs x * signum x == xThe sign is either  negate _1 (negative), _0 (zero), or _1 (positive). dimensionalComputes the nth root of a v using .The  } 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 . dimensionalComputes the square root of a v using .The  c type family will prevent application where the supplied quantity does not have a square dimension.3(x :: Area Double) >= _0 ==> sqrt x == nroot pos2 x dimensionalComputes the cube root of a v using .The  b type family will prevent application where the supplied quantity does not have a cubic dimension.5(x :: Volume Double) >= _0 ==> cbrt x == nroot pos3 x dimensionalComputes the nth root of a v using .The  } 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 . dimensionalApplies  to all values in a functor. dimensionalApplies  to all values in a functor. dimensional0The sum of all elements in a foldable structure.sum ([] :: [Mass Double])0.0kgsum [12.4 *~ meter, 1 *~ foot] 12.7048m dimensional4The product of all elements in a foldable structure.&product ([] :: [Dimensionless Double])1.0product [pi, _4, 0.36 *~ one]4.523893421169302 dimensional<The arithmetic mean of all elements in a foldable structure. mean [pi, _7]5.070796326794897 dimensional/The length of the foldable data structure as a @. This can be useful for purposes of e.g. calculating averages."dimensionlessLength ["foo", "bar"]2 dimensional2Returns 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] dimensional9Raises a dimensionless quantity to a dimensionless power. dimensionalDTakes the logarithm of the second argument in the base of the first. logBase _2 _83.0 dimensionalThe 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 dimensional 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. dimensionalBThe constant for zero is polymorphic, allowing it to express zero  or   or   etc, in addition to the  value zero. dimensionalTwice .For background on  see  http://tauday.com/tau-manifesto (but also feel free to review  http://www.thepimanifesto.com). dimensionalVConvenient conversion between numerical types while retaining dimensional information.%let x = (37 :: Rational) *~ poundMasschangeRep x :: Mass Double16.78291769kg dimensional^Convenient conversion from exactly represented values while retaining dimensional information. dimensional Converts a w into a lens from v s to values. dimensionalForms a new atomic w by specifying its b- and its definition as a multiple of another w.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. dimensionalForms a new atomic w by specifying its b- and its definition as a multiple of another w.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 . dimensionalForms a new atomic w by specifying its b- and its definition as a multiple of another w.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 . dimensionalThe initial value. dimensionalThe final value. dimensionalXThe number of intermediate values. If less than one, no intermediate values will result.k !"#$%&'()*+,-.PQRrtsvwyz|}~kswvPQR-.$#! ",+*)('&%~}|yzrt 77778668778 )Copyright (C) 2006-2018 Bjorn Buckwalter BSD3 bjorn@buckwalter.se Stable  GHC only None.O dimensionaliConstructs 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) ^ pos2True dimensionalkConstructs 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{|}~}{ywtsqomjigeca_\[WVURQNMIHGECA?=;9753/.-'&%$#!  ~|zxvurpnlkhfdb`^]ZYXTSPOLKJFDB@><:864210,+*)("     )Copyright (C) 2006-2018 Bjorn Buckwalter BSD3 bjorn@buckwalter.se Stable  GHC only None.SXW<G^gG^g)Copyright (C) 2006-2018 Bjorn Buckwalter BSD3 bjorn@buckwalter.se Stable  GHC only NoneZZ #$ %&' ()*+ ,-./012! "3qrmlpnokji4OMNL567CF89:;<=DE>IJK?@ABGHPQRSTUVWXYZ[\]^_`abcdefghstuvwxy|{z}~ !"#$%&'()*+,-.PQR^grsvwyz|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~W !"#$%&'()*+,-.PQRrsvwyz|}~|{zji #$ %&' ()*+ ,-./012! "3qrmlpnok4OMNL567CF89:;<=DE>IJK?@ABGHPQRSTUVWXYZ[\]^_`abcdefghstuvwxy}~)Copyright (C) 2006-2018 Bjorn Buckwalter BSD3 bjorn@buckwalter.se Stable  GHC only None!.v5 dimensionalOne percent is one hundrendth.fThe dimensionless number 0.01 , represented by the symbol %, is commonly used as a dimensionless unit.See section 7.10.2 of the  #note1[1] for further information. 1 *~ percent1.0e-2 dimensionalrOne 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.80665ms^-2!1 *~ gee :: Acceleration Rational196133 % 20000ms^-2 dimensional8One international foot is one third of an international .See  @https://en.wikipedia.org/wiki/Foot_%28unit%29#International_foothere for further information. 1 *~ foot0.3048m3 *~ foot === 1 *~ yard1 *~ foot :: Length Rational 381 % 1250m dimensionalOne 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-2m12 *~ inch === 1 *~ foot1 *~ inch :: Length Rational 127 % 5000m dimensional 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-5m1000 *~ mil === 1 *~ inch1 *~ mil :: Length Rational127 % 5000000m dimensionalNOne yard, as defined by international agreement in 1959, is precisely 0.9144 .See  "https://en.wikipedia.org/wiki/Yardhere for further information. 1 *~ yard0.9144m1 *~ yard :: Length Rational 1143 % 1250m dimensionalOne 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.344m1 *~ mile === 5280 *~ foot1 *~ mile :: Length Rational201168 % 125m dimensionalOne 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.8564224m^2"1 *~ acre === 43560 *~ foot ^ pos21 *~ acre :: Area Rational316160658 % 78125m^2 dimensional 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.3048006096012192m$1 *~ usSurveyFoot :: Length Rational 1200 % 3937m dimensional!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-2m(12 *~ usSurveyInch === 1 *~ usSurveyFoot$1 *~ usSurveyInch :: Length Rational 100 % 3937m dimensional%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-5m)1000 *~ usSurveyMil === 1 *~ usSurveyInch#1 *~ usSurveyMil :: Length Rational 1 % 39370m dimensionalOne 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.9144018288036576m'1 *~ usSurveyYard === 3 *~ usSurveyFoot$1 *~ usSurveyYard :: Length Rational 3600 % 3937m dimensional+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.3472186944373m*1 *~ usSurveyMile === 5280 *~ usSurveyFoot$1 *~ usSurveyMile :: Length Rational6336000 % 3937m dimensionalOne 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.872609874252m^221 *~ usSurveyAcre === 43560 *~ usSurveyFoot ^ pos2"1 *~ usSurveyAcre :: Area Rational62726400000 % 15499969m^2 dimensionalOne 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.45359237kg1 *~ poundMass :: Mass Rational45359237 % 100000000kg dimensional,One avoirdupois ounce is one sixteenth of a .See  Chttps://en.wikipedia.org/wiki/Ounce#International_avoirdupois_ouncehere for further information. 1 *~ ounce2.8349523125e-2kg16 *~ ounce === 1 *~ poundMass1 *~ ounce :: Mass Rational45359237 % 1600000000kg dimensionalOne short ton is two thousand .See  5https://en.wikipedia.org/wiki/Short_ton#United_Stateshere for further information. 1 *~ shortTon 907.18474kg1 *~ shortTon :: Mass Rational45359237 % 50000kg dimensionalxThe 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.4482216152605mkgs^-2/1 *~ poundForce === 1 *~ poundMass * (1 *~ gee)!1 *~ poundForce :: Force Rational'8896443230521 % 2000000000000mkgs^-2 dimensionalXOne 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.6998715822702m^2kgs^-3C1 *~ horsepower === 550 *~ poundForce * (1 *~ foot) / (1 *~ second)!1 *~ horsepower :: Power Rational.37284993579113511 % 50000000000000m^2kgs^-3 dimensionalThe 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.593902937206364kg1 *~ slug :: Mass Rational8896443230521 % 609600000000kg dimensionalOne psi is a pressure of one  per   of area.See  4https://en.wikipedia.org/wiki/Pounds_per_square_inchhere for further information.1 *~ psi6894.757293168362m^-1kgs^-21 *~ psi :: Pressure Rational'8896443230521 % 1290320000m^-1kgs^-2 dimensionaldOne 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.0m$1 *~ nauticalMile :: Length Rational 1852 % 1m dimensional$One knot is a velocity equal to one  per .See  -https://en.wikipedia.org/wiki/Knot_%28unit%29here for further information. 1 *~ knot0.5144444444444445ms^-11 *~ knot :: Velocity Rational463 % 900ms^-1 dimensional@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 *~ degree dimensionalOne btu is is the U5 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.05585262m^2kgs^-21 *~ btu :: Energy Rational"52752792631 % 50000000m^2kgs^-2 dimensional_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.15576e7s1 *~ year :: Time Rational31557600 % 1s dimensional3One mean Julian century is one hundred mean Julian s. 1 *~ century 3.15576e9s1 *~ century :: Time Rational3155760000 % 1s dimensionalThe bar is exactly 100000  .From Wikipedia:DIt is about equal to the atmospheric pressure on Earth at sea level.1 *~ bar100000.0m^-1kgs^-21 *~ bar :: Pressure Rational100000 % 1m^-1kgs^-2 dimensionalThe "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.0m^-1kgs^-2$1 *~ atmosphere :: Pressure Rational101325 % 1m^-1kgs^-2 dimensionalThe "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.5m^-1kgs^-2-1 *~ technicalAtmosphere :: Pressure Rational196133 % 2m^-1kgs^-2 dimensionalQThe 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.322m^-1kgs^-21 *~ mmHg :: Pressure Rational66661 % 500m^-1kgs^-2 dimensionalSThe 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.3788m^-1kgs^-21 *~ inHg :: Pressure Rational8465947 % 2500m^-1kgs^-2 dimensionalSThe 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.3788m^-1kgs^-2#1 *~ inHg_UCUM :: Pressure Rational8465947 % 2500m^-1kgs^-2 dimensionalSThe 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.389m^-1kgs^-2#1 *~ inHg_NIST :: Pressure Rational3386389 % 1000m^-1kgs^-2 dimensional,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.32236842105263m^-1kgs^-21 *~ torr :: Pressure Rational20265 % 152m^-1kgs^-2 dimensional 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-2m^2s^-2!1 *~ rad :: AbsorbedDose Rational1 % 100m^2s^-2 dimensionalOne 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-4m^2s^-1*1 *~ stokes :: KinematicViscosity Rational1 % 10000m^2s^-1 dimensionalEOne 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.5555555555555556K:1 *~ degreeFahrenheit :: ThermodynamicTemperature Rational5 % 9K dimensionalBOne 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.5555555555555556K71 *~ degreeRankine :: ThermodynamicTemperature Rational5 % 9K dimensional7One 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-3m^3&1 *~ imperialGallon :: Volume Rational454609 % 100000000m^3 dimensional(One imperial quart is one quarter of an .See  3https://en.wikipedia.org/wiki/Imperial_units#Volumehere for further information.1 *~ imperialQuart1.1365225e-3m^3%1 *~ imperialQuart :: Volume Rational454609 % 400000000m^3 dimensional$One imperial pint is one half of an .See  3https://en.wikipedia.org/wiki/Imperial_units#Volumehere for further information.1 *~ imperialPint5.6826125e-4m^3$1 *~ imperialPint :: Volume Rational454609 % 800000000m^3 dimensional#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-4m^3#1 *~ imperialCup :: Volume Rational454609 % 1600000000m^3 dimensional'One imperial gill is one quarter of an .See  3https://en.wikipedia.org/wiki/Imperial_units#Volumehere for further information.1 *~ imperialGill1.420653125e-4m^3$1 *~ imperialGill :: Volume Rational454609 % 3200000000m^3 dimensional0One imperial fluid ounce is one twentieth of an .See  3https://en.wikipedia.org/wiki/Imperial_units#Volumehere for further information.1 *~ imperialFluidOunce2.84130625e-5m^3*1 *~ imperialFluidOunce :: Volume Rational454609 % 16000000000m^3 dimensional5One 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-3m^3 1 *~ usGallon :: Volume Rational473176473 % 125000000000m^3 dimensional(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-4m^31 *~ usQuart :: Volume Rational473176473 % 500000000000m^3 dimensional$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-4m^31 *~ usPint :: Volume Rational473176473 % 1000000000000m^3 dimensional#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-4m^31 *~ usCup :: Volume Rational473176473 % 2000000000000m^3 dimensional$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-4m^31 *~ usGill :: Volume Rational473176473 % 4000000000000m^3 dimensionalOne 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-5m^3$1 *~ usFluidOunce :: Volume Rational473176473 % 16000000000000m^3 dimensionalOne ngstrm is 1/10  .See  0https://en.wikipedia.org/wiki/%C3%85ngstr%C3%B6mhere for further information. 1 *~ angstrom 1.0e-10m 1 *~ angstrom :: Length Rational1 % 10000000000m dimensionalOne Gauss is 1/10000 .See  .https://en.wikipedia.org/wiki/Gauss_%28unit%29here for further information. 1 *~ gauss1.0e-4kgs^-2A^-1*1 *~ gauss :: MagneticFluxDensity Rational1 % 10000kgs^-2A^-1::)Copyright (C) 2006-2018 Bjorn Buckwalter BSD3 bjorn@buckwalter.se Stable NoneX` dimensionalF[ if the representation of the argument is too small to be represented in normalized format. dimensionalFG if the representation of the argument is a number and is not infinite.isFiniteNumber (_1 / _0)FalseisFiniteNumber (_0 / _0)FalseisFiniteNumber (_3 / _2)True dimensionalFP if the representation of the argument is an IEEE infinity or negative infinity.isInfinite (_1 / _0)TrueisInfinite (42 *~ micro farad)False dimensionalFM if the representation of the argument is an IEEE "not-a-number" (NaN) value.isNaN _3FalseisNaN (_1 / _0)FalseisNaN (asin _4)True dimensionalF@ if the representation of the argument is an IEEE negative zero.isNegativeZero _0False3isNegativeZero $ (-1e-200 *~ one) * (1e-200 *~ one)True dimensionalaMultiplies 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.0m dimensional$An infinite floating-point quantity.  dimensionalPThe smallest representable positive quantity whose representation is normalized.  dimensional9The largest representable finite floating-point quantity.  dimensionalThe smallest positive value x such that _1 + x is representable.  dimensional copySign x y returns the quantity x( with its sign changed to match that of y.  dimensionalReturn F& if two floating-point quantities are exactly (bitwise) equal. dimensional?Return the next largest representable floating-point quantity (Infinity and NaN are unchanged). dimensional@Return the next smallest representable floating-point quantity (Infinity and NaN are unchanged). dimensionalGiven 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. dimensionalDefault NaN quantity. dimensionalQuiet 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. dimensionalThe payload stored in a NaN, quantity. Undefined if the argument is not NaN. dimensional6Return the minimum of two quantities; if one value is NaN8, return the other. Prefer the first if both values are NaN. dimensional6Return the maximum of two quantities; if one value is NaN8, return the other. Prefer the first if both values are NaN. dimensional6Return the minimum of two quantities; if one value is NaN1, return it. Prefer the first if both values are NaN. dimensional6Return 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 Buckwalter BSD3 bjorn@buckwalter.se  Experimental  GHC only? None &',.>SUVX߬ dimensional;A single-turn angle represented as a signed 32-bit integer. dimensional;A single-turn angle represented as a signed 16-bit integer. dimensional:A single-turn angle represented as a signed 8-bit integer. dimensionalA dimensionless number with n1 fractional bits, using a representation of type a. dimensionalA binary scale factor. dimensionalAdds two possibly scaled us, preserving any scale factor.Use in conjunction with J4 to combine quantities with differing scale factors. dimensionalSubtracts one possibly scaled u+ from another, preserving any scale factor.Use in conjunction with J4 to combine quantities with differing scale factors. dimensional.Takes the absolute value of a possibly scaled u, preserving any scale factor.  dimensional'Negates the value of a possibly scaled u, preserving any scale factor.! dimensionalApplies C to all values in a functor." dimensionalApplies D to all values in a functor.# dimensional"The sum of all elements in a list.$ dimensional.The arithmetic mean of all elements in a list.3 dimensionalThe standard two argument arctangent function. Since it interprets its two arguments in comparison with one another, the input may have any dimension.B dimensionalThe standard two argument arctangent function. Since it interprets its two arguments in comparison with one another, the input may have any dimension. dimensionaluLift a function on dimensionless values of a specified intermediate type to operate on possibly scaled dimensionless. dimensional~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.C dimensionalForms a possibly scaled u% by multipliying a number and a unit.D dimensionalDivides a possibly scaled u by a wg of the same physical dimension, obtaining the numerical value of the quantity expressed in that unit.E dimensionalkRescales a fixed point quantity, accomodating changes both in its scale factor and its representation type.=Note that this uses an arbitrary precision representation of U, which may be quite slow.F dimensionalkRescales a fixed point quantity, accomodating changes both in its scale factor and its representation type.Expected to outperform E when a J context is available for the source and destination representation types.G dimensionalyApproximately 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.H dimensionalyApproximately rescales a fixed point quantity, accomodating changes both in its scale factor and its representation type.6Uses approximate arithmetic by way of an intermediate 9 representation.I dimensionalVConvenient conversion between numerical types while retaining dimensional information.J dimensional$Convenient conversion to types with ( representations using .K dimensionalCThe constant for zero is polymorphic, allowing it to express zero  or E or { etc, in addition to the  value zero.V dimensionalTwice U.For background on V see  http://tauday.com/tau-manifesto (but also feel free to review  http://www.thepimanifesto.com).W dimensionalSThe least positive representable value in a given fixed-point scaled quantity type.r !"#$%&'()*+,-.PQRrtsuvwy|}~ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWrswvuPQR-.$#! "CD %&'()*+,-./0123456789:;<=>?@AB!"#$EFHGrtIJ,+*)('&%~}|KWLMNOPQRSTUVy66!7"7C7D7)Copyright (C) 2006-2018 Bjorn Buckwalter BSD3 bjorn@buckwalter.se Stable  GHC only NoneX dimensionalA * instance for s.dNote that this instance is dubious, because it allows you to break the dimensional abstraction. See t 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.)Copyright (C) 2006-2018 Bjorn Buckwalter BSD3 bjorn@buckwalter.se Stable  GHC only? None .27=>?HX(*Y dimensionalA w whose - is only known dynamically.Z dimensional Possibly a v whose - is only known dynamically.;By modeling the absence of a value, this type differs from [ in that it may not be a v 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 a+, representing zero value of any dimension.Note that the % instance for Z equates all representations of an invalid value, and also does not equate polydimensional zero with zero of any specific dimension.[ dimensionalA v whose - is only known dynamically.\ dimensional-The class of types that can be used to model vs whose -s are only known dynamically.] dimensional-The class of types that can be used to model v8s that are certain to have a value with some dimension.^ dimensionalForgets information about a v or [, yielding an [ or a Z._ dimensional'Converts a dynamic quantity such as an [ or a Z into a v, or to DL if the dynamic quantity cannot be represented in the narrower result type.` dimensionalA Z7 which does not correspond to a value of any dimension.a dimensionalA Z2 which corresponds to zero value of any dimension.,When combined through arithmetic with other Zs, 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 a 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 Zs of a specific dimension.c dimensional2The dynamic SI coherent unit of a given dimension.d dimensional Converts a w of statically known - into an Y.e dimensional Converts a w of statically known - into an Y.%This is the same as the more general dd but is useful in certain circumstances to avoid needlessly introducing an ambiguous type variable.f dimensional Converts an Y into a w of statically known -, or D! 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 R, conversion to a Q unit can be attempted using .g dimensional'Forms the reciprocal of a dynamic unit.h dimensional'Forms the product of two dynamic units.i dimensional(Forms the quotient of two dynamic units.j dimensional*Raises a dynamic unit to an integer power.k dimensional-Applies a prefix to a dynamic unit. Returns D if the w was R$ and thus could not accept a prefix.l dimensionalEForms a dynamic quantity by multipliying a number and a dynamic unit.m dimensionalDivides 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 D otherwise.n dimensional[ s form a 6w under multiplication, but not under addition because they may not be added together if their dimensions do not match.o dimensional[ s form a 5w under multiplication, but not under addition because they may not be added together if their dimensions do not match.v dimensionalZ s form a 6w under multiplication, but not under addition because they may not be added together if their dimensions do not match.w dimensionalZ s form a 5w under multiplication, but not under addition because they may not be added together if their dimensions do not match. dimensionalY s form a 6 under multiplication. dimensionalY s form a 5 under multiplication. dimensional(How the function operates on dimensions. dimensional$How the function operates on values.YZ[\]^_`abcdefghijklm[Z]\_^lm`aYdfecbhijgk !"#"$%&'()*+,-.-/-0-1232456789+:+;+<+=>?@ABCD-E-F2GHI+J+KLM)N2OPQ+RHS+TUVWXYZ[\]^_^`^a^b^cdefgh^i+j^k^lmn^ogpgq^rmsmt^u^v^wZxZyZzZ{ | } ~         XXXXXXXXXXXXXXXXXXXmPPPPHHHHHHHHHHHHH++++++++++++++++------UUUUUUUU"")       2222222222 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXY?Z>=[\]^_`abcdefghhijklmnopqrstuvwxyz{| } ~ > =            =>?i=>@?ABC                                                        ! " # $ % & ' ( ) * + , - . / 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 { | } ~                                                                                                                 !"#$%&'()*+,-./01 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[\]^_`abcdefg@=>?hijklmnopqrstuvwxyz{|}~ ~tkH  &dimensional-1.3-7Gh1mp5ZBGaGfkDr7lUYf2!Numeric.Units.Dimensional.Prelude"Numeric.Units.Dimensional.CoercionNumeric.Units.Dimensional.Float$Numeric.Units.Dimensional.Dimensions.Numeric.Units.Dimensional.Dimensions.TermLevelNumeric.Units.Dimensional.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!Numeric.Units.Dimensional.Dynamic Dimension,Numeric.Units.Dimensional.UnitNames.Internal"Numeric.Units.Dimensional.Internal CapacitanceVelocitypascalbaseGHC.Base++ghc-primGHC.PrimseqGHC.Listfilterzip System.IOprint Data.Tuplefstsnd otherwisemap$coerceGHC.Num fromIntegerGHC.Real fromRationalGHC.EnumenumFrom enumFromThen enumFromToenumFromThenTo GHC.Classes==>=fail>>=>>fmapreturn fromIntegral realToFrac toInteger toRational<>memptymappendmconcat<*>pure*>BoundedEnumEq GHC.FloatFloating FractionalIntegralMonadFunctorNumOrdGHC.ReadReadReal RealFloatRealFracGHC.ShowShow Applicative Data.FoldableFoldableData.Traversable Traversable SemigroupMonoid GHC.TypesBoolCharDoubleFloatInt integer-gmpGHC.Integer.TypeInteger GHC.MaybeMaybeOrderingRationalIOWord Data.EitherEitherFalseNothingJustTrueLeftRightLTEQGTsequencemapM sequenceAtraversereadIOreadLn appendFile writeFilereadFileinteract getContentsgetLinegetCharputStrLnputStrputCharGHC.IO.ExceptionioErrorGHC.IOFilePath userErrorIOErrornotElemallanyorand concatMapconcat sequence_mapM_minimummaximumelemlengthnullfoldl1foldr1foldlfoldrfoldMap Data.OldListunwordswordsunlineslines Text.ReadreadreadseitherControl.Category.idCategorylex readParenreadList readsPrecText.ParserCombinators.ReadPReadSisIEEEisNegativeZeroisDenormalized isInfiniteisNaN scaleFloat significandexponent encodeFloat decodeFloat floatRange floatDigits floatRadix Data.Functor<$>lcmgcd^^oddevendivModquotRemmoddivremquotfloorceilingroundtruncateproperFractionmaxBoundminBoundfromEnumtoEnumpredsucc showParen showStringshowCharshowsShowSshowListshow showsPrecunzip3unzipzipWith3zipWithzip3!!lookupreversebreakspansplitAtdroptake dropWhile takeWhilecycle replicaterepeatiteratescanr1scanrscanl1scanlinitlasttailhead Data.MaybemaybeuncurrycurrysubtractasTypeOfuntil$!flipconst=<<<$<*StringGHC.Err undefinederrorWithoutStackTraceerror/=<=compare&&||not<>maxmin#ieee754-0.8.0-IfCS1Dp7pQVIOQRslM6kD Numeric.IEEE maxNaNPayload)numtype-dk-0.5.0.2-DTeacie2e274V3zTqCUDqSNumeric.NumType.DK.Integerspos5pos4pos3pos2pos1zeroneg1neg2neg3neg4neg5 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^/*~~/~~summeandimensionlessLengthnFromToexplogsincostanasinacosatansinhcoshtanhasinhacoshatanhlog1pexpm1log1pexplog1mexp**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 electronVoltunifiedAtomicMassUnitdaltonpercentgeefootinchmilyardmileacre usSurveyFoot usSurveyInch usSurveyMil usSurveyYard usSurveyMile usSurveyAcre poundMassounceshortTon poundForce horsepowerslugpsi nauticalMileknot revolutionsolidteaspoonbtuyearcenturybar atmospheretechnicalAtmospheremmHginHg inHg_UCUM inHg_NISTtorrradstokesdegreeFahrenheit degreeRankineimperialGallon imperialQuart imperialPint imperialCup imperialGillimperialFluidOunceusGallonusQuartusPintusCupusGill usFluidOunceangstromgaussisFiniteNumberinfinity 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$fGenericAnyUnit Data.ProxyProxy AreCompatible_interchangeName$fShowUnitName NameAtomType PrefixAtomUnitAtomGroupedQuotientPrefixedAtomic MetricAtomicOneProductisAtomicOrProductreduce'nMeternGram nKilogramnSecondnAmperenKelvinnMolenCandela baseUnitNamesprefix ucumMetricucumdimensionalAtom ScaleFactor$fMonoidDimensional$fSemigroupDimensional$fShowDimensional$fShowDimensional0 extractValue extractName injectValueliftDliftQliftD2liftQ2'exact-pi-0.5.0.1-Iy5EhBqFm8M7V3OqGGU5qy Data.ExactPi ApproximateliftDimensionlessVialiftDimensionlessPeriodicVia Data.Bits FiniteBitsExactPiliftDQ