-- Definitions for units known to val -- File format is two strings and a return statement with them in it: -- string in quotes [=[ ... builtin_units ... ]=]. -- string in quotes [=[ ... builtin_units_long_scale ... ]=]. -- First string, builtin_units, is short-scale, second string is long scale.  -- Entry format: -- One record per line, starting in first column, having 2-4 fields. -- Field separator: two or more spaces -- Between first and second fields: two or more spaces -- Between all other fields: two or more spaces, or one or more tabs -- Entries without two spaces in them are ignored.  -- There must be a blank line before the first entry and after the last. -- I.e. the first two and last two characters of the string must be newlines.  -- Format of entry. Two record types: -- -- One record type is a wikilink: -- Unit-code         Symbol-accepts-HTML-only  -- Text-field separator is still two spaces.  Two spaces not allowed in wikilink. -- -- The other record type is all fields: -- Unit-code        symbol-accepts-HTML-only        pagename#section-OK -- -- Plus there is an optional field that goes at the end after two or more spaces. -- Whether it is a number or an equation or the letters SI, -- any of these three has the same function: a wikitable sorting "scale". -- It is for sorting, and it works for either record type. -- Difference is SI can't accept HTML. But SI correctly scales any SI prefix. -- (Optional fields ALIAS and NOSPACE and ANGLE are for advanced users.)  -- "Invalid unit" error: -- Using SI requires that the symbol equal unit-code, so never allows HTML. -- Any difference between SI or symbol must be an SI prefix, such as k, M, or G. -- A space at the end of an entry is an error. No space at each EOL.  local builtin_units = [=[   Test  Foo  Foo Baz  baz0 Baz  baz0 Bar  bar0 quux  bar0   Unsorted units  c0  c0 lbf  lbF  C.mol-1  C⋅mol−1 C/mol  C/mol C.kg-1  C⋅kg−1 C/kg  C/kg F.m-1  F⋅m−1 F/m  F/m e  e kB  kB  8e3 MB  MB  8e6 GB  GB  8e9 TB  TB  8e12 lx  lx   Time and frequency  byte/s  byte/s  8 kB/s  kB/s  8e3 MB/s  MB/s  8e6 GB/s  GB/s  8e9 TB/s  TB/s  8e12 bit/s  bit/s  1 bps  bit/s  1 kbit/s  kbit/s  1e3 Mbit/s  Mbit/s  1e6 Gbit/s  Gbit/s  1e9 Tbit/s  Tbit/s  1e12 kT/s  kT/s  1e3 MT/s  MT/s  1e6 GT/s  GT/s  1e9 year  year  31557600 years  years  31557600 yr  yr  31557600 y  y  31557600 a  a  31557600 Ga  Ga  31557600000000000 Ma  Ma  31557600000000 ka  ka  31557600000 kyr  kyr  31557600000 kya  kya  31557600000 myr  myr  31557600000000 mya  mya  31557600000000 byr  byr  31557600000000000 bya  bya  31557600000000000 Gyr  Gyr  31557600000000000 BP  BP uBP  14C yr BP BC  BC  -1 AD  AD  1 BCE  BCE  -1 CE  CE  1 JD  JD  1  s-1  s−1 s-2  s−2 s2  s2  s  s  SI as  s  SI cs  s  SI das  s  SI ds  s  SI Es  s  SI fs  s  SI Gs  s  SI hs  s  SI ks  s  SI ms  s  SI µs  s  SI us  s  SI Ms  s  SI ns  s  SI ps  s  SI Ps  s  SI Ts  s  SI Ys  s  SI ys  s  SI Zs  s  SI zs  s  SI  Hz  Hz  SI aHz  Hz  SI cHz  Hz  SI daHz  Hz  SI dHz  Hz  SI EHz  Hz  SI fHz  Hz  SI hHz  Hz  SI GHz  Hz  SI kHz  Hz  SI MHz  Hz  SI mHz  Hz  SI uHz  Hz  SI µHz  Hz  SI nHz  Hz  SI pHz  Hz  SI PHz  Hz  SI THz  Hz  SI yHz  Hz  SI YHz  Hz  SI zHz  Hz  SI ZHz  Hz  SI   Length, area, volume  fb-1  fb−1 m-1  m−1 m-2  m−2 m-3  m−3 km2  km2 km3  km3 µm2  µm2 um2  µm2 am2  am2 cm2  cm2 dam2  dam2 dm2  dm2 Em2  Em2 fm2  fm2 Gm2  Gm2 hm2  hm2 mm2  mm2 Mm2  Mm2 nm2  nm2 pm2  pm2 Pm2  Pm2 Tm2  Tm2 ym2  ym2 Ym2  Ym2 zm2  zm2 Zm2  Zm2 gal  gal Gal  Gal uGal  µGal µGal  µGal mGal  mGal  b  b  SI ab  b  SI cb  b  SI dab  b  SI db  b  SI Eb  b  SI fb  b  SI Gb  b  SI hb  b  SI kb  b  SI mb  b  SI µb  b  SI ub  b  SI Mb  b  SI nb  b  SI pb  b  SI Pb  b  SI Tb  b  SI Yb  b  SI yb  b  SI Zb  b  SI zb  b  SI   Velocity and acceleration  m.s-2  m⋅s−2 m/s2  m/s2 m.s-1  m⋅s−1 m/s  m/s km.s-1  km⋅s−1 km/s  km/s   Mass and energy  lbm  lbm uJ  µJ J.s  J⋅s kWh  kWh kW.h  kW⋅h J/C  J/C J/kg  J/kg  g  g  SI ag  g  SI cg  g  SI dag  g  SI dg  g  SI Eg  g  SI fg  g  SI Gg  g  SI hg  g  SI kg  g  SI mcg  g  SI Mg  g  SI mg  g  SI ug  g  SI µg  g  SI ng  g  SI Pg  g  SI pg  g  SI Tg  g  SI yg  g  SI Yg  g  SI zg  g  SI Zg  g  SI   Pressure and density  psi  psi g/cm3  g/cm3 kg.m-3  kg⋅m−3 kg/m3  kg/m3 kg/cm3  kg/cm3 g/L  g/L g/l  g/L mcg/dL  µg/dL mcg/dl  µg/dL mg/mL  mg/mL mg/ml  mg/mL ug/dL  µg/dL ug/dl  µg/dL μg/dL  μg/dL μg/dl  μg/dL mg/L  mg/dL mg/l  mg/L mg/L  mg/L mgl-1  mg/L mgL-1  mg/L   Temperature  degC  °C  ALIAS degF  °F  ALIAS degR  °R  ALIAS  K  K  SI YK  K  SI ZK  K  SI EK  K  SI PK  K  SI TK  K  SI GK  K  SI MK  K  SI kK  K  SI hK  K  SI daK  K  SI dK  K  SI cK  K  SI mK  K  SI µK  K  SI uK  K  SI nK  K  SI pK  K  SI fK  K  SI aK  K  SI zK  K  SI yK  K  SI   Electromagnetism  Wb  Wb N.A-2  N⋅A−2 H.m-1  H⋅m−1 V.m-1  V⋅m−1 V/m  V/m  C  C  SI YC  C  SI ZC  C  SI EC  C  SI PC  C  SI TC  C  SI GC  C  SI MC  C  SI kC  C  SI hC  C  SI daC  C  SI dC  C  SI cC  C  SI mC  C  SI µC  C  SI uC  C  SI nC  C  SI pC  C  SI fC  C  SI aC  C  SI zC  C  SI yC  C  SI  F  F  SI YF  F  SI ZF  F  SI EF  F  SI PF  F  SI TF  F  SI GF  F  SI MF  F  SI kF  F  SI hF  F  SI daF  F  SI dF  F  SI cF  F  SI mF  F  SI µF  F  SI uF  F  SI nF  F  SI pF  F  SI fF  F  SI aF  F  SI zF  F  SI yF  F  SI  H  H  SI YH  H  SI ZH  H  SI EH  H  SI PH  H  SI TH  H  SI GH  H  SI MH  H  SI kH  H  SI hH  H  SI daH  H  SI dH  H  SI cH  H  SI mH  H  SI µH  H  SI uH  H  SI nH  H  SI pH  H  SI fH  H  SI aH  H  SI zH  H  SI yH  H  SI  A  A  SI YA  A  SI ZA  A  SI EA  A  SI PA  A  SI TA  A  SI GA  A  SI MA  A  SI kA  A  SI hA  A  SI daA  A  SI dA  A  SI cA  A  SI mA  A  SI µA  A  SI uA  A  SI nA  A  SI pA  A  SI fA  A  SI aA  A  SI zA  A  SI yA  A  SI  V  V  SI YV  V  SI ZV  V  SI EV  V  SI PV  V  SI TV  V  SI GV  V  SI MV  V  SI kV  V  SI hV  V  SI daV  V  SI dV  V  SI cV  V  SI mV  V  SI µV  V  SI uV  V  SI nV  V  SI pV  V  SI fV  V  SI aV  V  SI zV  V  SI yV  V  SI  VA  VA  SI YVA  VA  SI ZVA  VA  SI EVA  VA  SI PVA  VA  SI TVA  VA  SI GVA  VA  SI MVA  VA  SI kVA  VA  SI hVA  VA  SI daVA  VA  SI dVA  VA  SI cVA  VA  SI mVA  VA  SI µVA  VA  SI uVA  VA  SI nVA  VA  SI pVA  VA  SI fVA  VA  SI aVA  VA  SI zVA  VA  SI yVA  VA  SI  R  R  SI  G  G  SI aG  G  SI cG  G  SI daG  G  SI dG  G  SI EG  G  SI fG  G  SI GG  G  SI hG  G  SI kG  G  SI MG  G  SI mG  G  SI uG  G  SI µG  G  SI nG  G  SI PG  G  SI pG  G  SI TG  G  SI yG  G  SI YG  G  SI zG  G  SI ZG  G  SI  T  T  SI aT  T  SI cT  T  SI daT  T  SI dT  T  SI ET  T  SI fT  T  SI GT  T  SI hT  T  SI kT  T  SI MT  T  SI mT  T  SI uT  T  SI µT  T  SI nT  T  SI PT  T  SI pT  T  SI TT  T  SI yT  T  SI YT  T  SI zT  T  SI ZT  T  SI   Astrophysics  au  au c  c ly  ly Earth mass  M⊕ Earth radius  R⊕ M_Earth  M⊕ R_Earth  R⊕ M+  M⊕ R+  R⊕ Jupiter mass  MJ Jupiter radius  RJ M_Jupiter  MJ R_Jupiter  RJ Solar mass  M☉ solar mass  M☉ M_Solar  M☉ M_solar  M☉ R_Solar  R☉ R_solar  R☉ Solar radius  R☉ solar radius  R☉ Solar luminosity  L☉ solar luminosity  L☉ L_solar  L☉ L_Solar  L☉ Lo  L☉ pc2  pc2 pc3  pc3 kpc2  kpc2 kpc3  kpc3 kpc  kpc Mpc2  Mpc2 Mpc3  Mpc3 Mpc  Mpc Gpc2  Gpc2 Gpc3  Gpc3 Gpc  Gpc   Nuclear physics and chemistry  cm-1  cm−1 u  u osmol  osmol Osm  Osm M  M TM  M  SI GM  M  SI MM  M  SI kM  M  SI hM  M  SI daM  M  SI dM  M  SI cM  M  SI mM  M  SI uM  M  1e-6 nM  M  SI pM  M  SI kg.mol-1  kg⋅mol−1 kg/mol  M g.mol-1  g⋅mol−1 g/mol  g/mol eV/c2  eV/c2 keV/c2  keV/c2 MeV/c2  MeV/c2 GeV/c2  GeV/c2 TeV/c2  TeV/c2 µN  µN µB  µB eV  eV mev  meV keV  keV MeV  MeV GeV  GeV TeV  TeV mol-1  mol−1 J.mol-1  J⋅mol−1 J/mol  J/mol kJ.mol-1  kJ⋅mol−1 kJ/mol  kJ/mol MJ.mol-1  MJ⋅mol−1 MJ/mol  MJ/mol GJ.mol-1  GJ⋅mol−1 GJ/mol  GJ/mol TJ.mol-1  TJ⋅mol−1 TJ/mol  TJ/mol   Numbers and phrases  pp  pp ppb  ppb  1e-9 ppm  ppm  1e-6 billiard  billiard  1e15 billion  billion  1e9 billionth  billionth  1e-9 billionths  billionths  1e-9 decilliard  decilliard  1e63 decillion  decillion  1e33 decillionth  decillionth  1e-33 decillionths  decillionths  1e-33 milliard  milliard  1e9 million  million  1e6 millionth  millionth  1e-6 millionths  millionths  1e-6 nonilliard  nonilliard  1e57 nonillion  nonillion  1e30 nonillionth  nonillionth  1e-30 nonillionths  nonillionths  1e-30 octilliard  octilliard  1e51 octillion  octillion  1e27 octillionth  octillionth  1e-27 octillionths  octillionths  1e-27 quadrilliard  quadrilliard  1e27 quadrillion  quadrillion  1e15 quadrillionth  quadrillionth  1e-15 quadrillionths  quadrillionths  1e-15 quintilliard  quintilliard  1e33 quintillion  quintillion  1e18 quintillionth  quintillionth  1e-18 quintillionths  quintillionths  1e-18 septilliard  septilliard  1e45 septillion  septillion  1e24 septillionth  septillionth  1e-24 septillionths  septillionths  1e-24 sextilliard  sextilliard  1e39 sextillion  sextillion  1e21 sextillionth  sextillionth  1e-21 sextillionths  sextillionths  1e-21 trilliard  trilliard  1e21 trillion  trillion  1e12 trillionth  trillionth  1e-12 trillionths  trillionths  1e-12   Angles  %                  %                                     Percent                                ANGLE   0.01 percent            %                                     Percent                                ANGLE   0.01 per cent           %                                     Percent                                ANGLE   0.01 ‰                  ‰                                     Per mil                                ANGLE   1e-3 per mil            ‰                                     Per mil                                ANGLE   1e-3 per mill           ‰                                     Per mil                                ANGLE   1e-3 per mille          ‰                                     Per mil                                ANGLE   1e-3 permil             ‰                                     Per mil                                ANGLE   1e-3 permill            ‰                                     Per mil                                ANGLE   1e-3 permille           ‰                                     Per mil                                ANGLE   1e-3 °                  °                                     Degree (angle)                         ANGLE   pi/180 deg                °                                     Degree (angle)                         ANGLE   pi/180 '                  ′                                     Minute of arc                          ANGLE   pi/10800 ′                  ′                                     Minute of arc                          ANGLE   pi/10800 arcmin             ′                                     Minute of arc                          ANGLE   pi/10800 arcminute          ′                                     Minute of arc                          ANGLE   pi/10800 "                  ″                                     Second of arc                          ANGLE   pi/648000 ″                  ″                                     Second of arc                          ANGLE   pi/648000 arcsec             ″                                     Second of arc                          ANGLE   pi/648000 arcsecond          ″                                     Second of arc                          ANGLE   pi/648000 mas  mas  pi/648000000  ]=]  -- If val has "|long scale=on" the following definitions are used -- (then, if not found here, the normal definitions are used). -- Unit code  Symbol  Flags/Scale local builtin_units_long_scale = [=[   Long scale numbers and phrases  billion  billion  1e12 billionth  billionth  1e-12 billionths  billionths  1e-12 decillion  decillion  1e60 decillionth  decillionth  1e-60 decillionths  decillionths  1e-60 nonillion  nonillion  1e54 nonillionth  nonillionth  1e-54 nonillionths  nonillionths  1e-54 octillion  octillion  1e48 octillionth  octillionth  1e-48 octillionths  octillionths  1e-48 quadrillion  quadrillion  1e24 quadrillionth  quadrillionth  1e-24 quadrillionths  quadrillionths  1e-24 quintillion  quintillion  1e30 quintillionth  quintillionth  1e-30 quintillionths  quintillionths  1e-30 septillion  septillion  1e42 septillionth  septillionth  1e-42 septillionths  septillionths  1e-42 sextillion  sextillion  1e36 sextillionth  sextillionth  1e-36 sextillionths  sextillionths  1e-36 trillion  trillion  1e18 trillionth  trillionth  1e-18 trillionths  trillionths  1e-18  ]=]  return { builtin_units = builtin_units, builtin_units_long_scale = builtin_units_long_scale }