Module:Val/units: Difference between revisions
From Zoophilia Wiki
Jump to navigationJump to search
meta>The Mol Man No edit summary |
meta>The Mol Man mNo edit summary |
||
| Line 305: | Line 305: | ||
end | end | ||
if per then | if per then | ||
-- Look for "*" "." or "/" | |||
-- If found, add parentheses | |||
if u:find('[%*%.%/]') then | if u:find('[%*%.%/]') then | ||
unit = '('..unit..')' | unit = '('..unit..')' | ||
| Line 314: | Line 316: | ||
per_u = per_u.abbr | per_u = per_u.abbr | ||
end | end | ||
-- Look for "*" "." or "/" | |||
-- If found, add parentheses | |||
if per:find('[%*%.%/]') then | if per:find('[%*%.%/]') then | ||
per_u = '('..per_u..')' | per_u = '('..per_u..')' | ||
Revision as of 21:06, 7 January 2015
Documentation for this module may be created at Module:Val/units/doc
local units_tbl = {
A = { abbr = 'A', link = 'ampere' },
aA = { abbr = 'aA', link = 'attoampere' },
AD = { abbr = 'AD', link = 'Anno Domini' },
aG = { abbr = 'aG', link = 'attogauss' },
ag = { abbr = 'ag', link = 'attogram' },
aHz = { abbr = 'aHz', link = 'attohertz' },
aK = { abbr = 'aK', link = 'attokelvin' },
am = { abbr = 'am', link = 'attometre' },
aT = { abbr = 'aT', link = 'attotesla' },
BC = { abbr = 'BC', link = 'Before Christ' },
BCE = { abbr = 'BCE', link = 'Before the Common Era' },
['bit/s'] = { abbr = 'bit/s', link = 'bit per second' },
bps = { abbr = 'bit/s', link = 'bit per second' },
BP = { abbr = 'BP', link = 'Before present' },
bya = { abbr = 'bya', link = 'billion years ago' },
byr = { abbr = 'byr', link = 'billion years' },
C = { abbr = 'C', link = 'coulomb' },
c = { abbr = '<i>c</i>', link = 'speed of light' },
cA = { abbr = 'cA', link = 'centiampere' },
CE = { abbr = 'CE', link = 'Common Era' },
cG = { abbr = 'cG', link = 'centigauss' },
cg = { abbr = 'cg', link = 'centigram' },
cHz = { abbr = 'cHz', link = 'centihertz' },
cK = { abbr = 'cK', link = 'centikelvin' },
['cm-1'] = { abbr = 'cm<sup>−1</sup>', link = 'wavenumber' },
cT = { abbr = 'cT', link = 'centitesla' },
cV = { abbr = 'cV', link = 'volt' },
dA = { abbr = 'dA', link = 'ampere' },
daA = { abbr = 'daA', link = 'decaampere' },
daG = { abbr = 'daG', link = 'decagauss' },
dag = { abbr = 'dag', link = 'decagram' },
daHz = { abbr = 'daHz', link = 'decahertz' },
daK = { abbr = 'daK', link = 'decakelvin' },
daT = { abbr = 'daT', link = 'decatesla' },
daV = { abbr = 'daV', link = 'volt' },
degC = { abbr = '°C', link = 'degree Celsius' },
degF = { abbr = '°F', link = 'Fahrenheit' },
degR = { abbr = '°R', link = 'Rankine scale' },
dG = { abbr = 'dG', link = 'decigauss' },
dg = { abbr = 'dg', link = 'decigram' },
dHz = { abbr = 'dHz', link = 'hertz' },
dK = { abbr = 'dK', link = 'decikelvin' },
dT = { abbr = 'dT', link = 'decitesla' },
dV = { abbr = 'dV', link = 'volt' },
EA = { abbr = 'EA', link = 'ampere' },
['Earth mass'] = { abbr = '<i>M</i><sub>⊕</sub>', link = 'Earth mass' },
['Earth radius'] = { abbr = '<i>R</i><sub>⊕</sub>', link = 'Earth radius' },
EG = { abbr = 'EG', link = 'exagauss' },
Eg = { abbr = 'Eg', link = 'exagram' },
EHz = { abbr = 'EHz', link = 'exahertz' },
EK = { abbr = 'EK', link = 'exakelvin' },
ET = { abbr = 'ET', link = 'exatesla' },
EV = { abbr = 'EV', link = 'volt' },
['eV/c2'] = { abbr = 'eV/<i>c</i><sup>2</sup>', link = 'electronvolt#Mass' },
F = { abbr = 'F', link = 'farad' },
fA = { abbr = 'fA', link = 'femtoampere' },
['fb-1'] = { abbr = 'fb<sup>−1</sup>', link = 'Barn (unit)' },
fG = { abbr = 'fG', link = 'femtogauss' },
fg = { abbr = 'fg', link = 'femtogram' },
fHz = { abbr = 'fHz', link = 'femtohertz' },
fK = { abbr = 'fK', link = 'femtokelvin' },
fT = { abbr = 'fT', link = 'femtotesla' },
fV = { abbr = 'fV', link = 'femtovolt' },
gal = { abbr = 'gal', link = 'gallon' },
['g/cm3'] = { abbr = 'g/cm<sup>3</sup>', link = 'gram per cubic centimetre' },
['g/l'] = { abbr = 'g/l', link = 'gram per litre' },
['g/L'] = { abbr = 'g/L', link = 'gram per litre' },
['g*mol-1'] = { abbr = 'g⋅mol<sup>−1</sup>', link = 'molar mass' },
['g/mol'] = { abbr = 'g⋅mol<sup>−1</sup>', link = 'molar mass' },
GA = { abbr = 'GA', link = 'gigaampere' },
Ga = { abbr = 'Ga', link = 'gigaannum' },
['Gbit/s'] = { abbr = 'Gbit/s', link = 'gigabit per second' },
['GeV/c2'] = { abbr = 'GeV/<i>c</i><sup>2</sup>', link = 'electronvolt#Mass' },
GG = { abbr = 'GG', link = 'gigagauss' },
Gg = { abbr = 'Gg', link = 'gigagram' },
GHz = { abbr = 'GHz', link = 'gigahertz' },
['GJ*mol-1'] = { abbr = 'GJ⋅mol<sup>−1</sup>', link = 'joule per mole' },
['GJ/mol'] = { abbr = 'GJ/mol', link = 'joule per mole' },
GK = { abbr = 'GK', link = 'gigakelvin' },
GPa = { abbr = 'GPa', link = 'gigapascal' },
Gpc = { abbr = 'Gpc', link = 'megaparsec#Megaparsecs_and_gigaparsecs' },
['Gpc2'] = { abbr = 'Gpc<sup>2</sup>', link = 'megaparsec#Megaparsecs_and_gigaparsecs' },
['Gpc3'] = { abbr = 'Gpc<sup>3</sup>', link = 'megaparsec#Megaparsecs_and_gigaparsecs' },
GT = { abbr = 'GT', link = 'gigatesla' },
GV = { abbr = 'GV', link = 'gigavolt' },
Gyr = { abbr = 'Ga', link = 'gigaannum' },
H = { abbr = 'H', link = 'Henry (unit)' },
['H*m-1'] = { abbr = 'H', link = 'Henry (unit)' },
hA = { abbr = 'hA', link = 'hectoampere' },
hG = { abbr = 'hG', link = 'hectogauss' },
hg = { abbr = 'hg', link = 'hectogram' },
hHz = { abbr = 'hHz', link = 'hectohertz' },
hK = { abbr = 'hK', link = 'hectokelvin' },
hT = { abbr = 'hT', link = 'hectotesla' },
hV = { abbr = 'hV', link = 'volt' },
Hz = { abbr = 'Hz', link = 'hertz' },
['Jupiter mass'] = { abbr = '<i>M</i><sub>J</sub>', link = 'Jupiter mass' },
['Jupiter radius'] = { abbr = '<i>R</i><sub>J</sub>', link = 'Jupiter radius' },
['J/kg'] = { abbr = 'J/kg', link = 'joule' },
['J*mol-1'] = { abbr = 'J⋅mol<sup>−1</sup>', link = 'joule per mole' },
['J/mol'] = { abbr = 'J/mol', link = 'joule per mole' },
Js = { abbr = 'J⋅s', link = 'joule-second' },
['J*s'] = { abbr = 'J⋅s', link = 'joule-second' },
kA = { abbr = 'kA', link = 'kiloampere' },
ka = { abbr = 'ka', link = 'kiloannum' },
['kbit/s'] = { abbr = 'kbit/s', link = 'kilobit per second' },
['keV/c2'] = { abbr = 'keV/<i>c</i><sup>2</sup>', link = 'electronvolt#Mass' },
kG = { abbr = 'kG', link = 'kilogauss' },
['kg/cm3'] = { abbr = 'kg/cm<sup>3</sup>', link = 'density#Formula_and_common_units' },
['kg/m3'] = { abbr = 'kg/m<sup>3</sup>', link = 'kilogram per cubic metre' },
['kg/mol'] = { abbr = 'kg⋅mol<sup>−1</sup>', link = 'molar mass' },
kHz = { abbr = 'kHz', link = 'Kilohertz' },
kpc = { abbr = 'kpc', link = 'kiloparsec' },
['kpc2'] = { abbr = 'kpc<sup>2</sup>', link = 'kiloparsec' },
['kpc3'] = { abbr = 'kpc<sup>3</sup>', link = 'kiloparsec' },
['kJ*mol-1'] = { abbr = 'kJ⋅mol<sup>−1</sup>', link = 'joule per mole' },
['kJ/mol'] = { abbr = 'kJ/mol', link = 'joule per mole' },
kK = { abbr = 'kK', link = 'kilokelvin' },
KPa = { abbr = 'kPa', link = 'pascal (unit)' },
kT = { abbr = 'kT', link = 'kilotesla' },
kV = { abbr = 'kV', link = 'kilovolt' },
['kW·h'] = { abbr = 'kW⋅h', link = 'kilowatt hour' },
['kW.h'] = { abbr = 'kW⋅h', link = 'kilowatt hour' },
kWh = { abbr = 'kWh', link = 'kilowatt hour' },
kya = { abbr = 'kya', link = 'kyr' },
kyr = { abbr = 'kyr', link = 'kyr' },
lbf = { abbr = '{{lbf}}', link = 'Pound (force)' },
lbm = { abbr = '{{lbm}}', link = 'Pound (mass)' },
ly = { abbr = 'ly', link = 'light-year' },
['L_solar'] = { abbr = '<i>L</i><sub>☉</sub>', link = 'solar luminosity' },
['m-3'] = { abbr = 'm<sup>−3</sup>', link = 'cubic metre' },
['m-2'] = { abbr = 'm<sup>−2</sup>', link = 'square metre' },
['m-1'] = { abbr = 'm<sup>−1</sup>', link = 'metre' },
m = { abbr = 'm', link = 'metre' },
['metre|meter'] = { abbr = 'm', link = 'metre' },
['m*s-1'] = { abbr = 'm⋅s<sup>−1</sup>', link = 'metre per second' },
['m*s-2'] = { abbr = 'm⋅s<sup>−2</sup>', link = 'metre per second squared' },
['M_Earth'] = { abbr = '<i>M</i><sub>⊕</sub>', link = 'Earth mass' },
['M_Jupiter'] = { abbr = '<i>M</i><sub>J</sub>', link = 'Jupiter mass' },
['M_Solar'] = { abbr = '<i>M</i><sub>☉</sub>', link = 'solar mass' },
['M_solar'] = { abbr = '<i>M</i><sub>☉</sub>', link = 'solar mass' },
mA = { abbr = 'mA', link = 'milliampere' },
MA = { abbr = 'MA', link = 'megaampere' },
Ma = { abbr = 'Ma', link = 'megaannum' },
['Mbit/s'] = { abbr = 'Mbit/s', link = 'megabit per second' },
mcg = { abbr = 'µg', link = 'microgram' },
['mcg/dL'] = { abbr = 'µg/dL', link = 'gram per' },
['mcg/dl'] = { abbr = 'µg/dl', link = 'gram per' },
['MeV/c2'] = { abbr = 'MeV/<i>c</i><sup>2</sup>', link = 'electronvolt#Mass' },
MG = { abbr = 'MG', link = 'megagauss' },
Mg = { abbr = 'Mg', link = 'megagram' },
mG = { abbr = 'mG', link = 'milligauss' },
['mg/mL'] = { abbr = 'mg/mL', link = 'gram per litre' },
['mg/ml'] = { abbr = 'mg/mL', link = 'gram per litre' },
MHz = { abbr = 'MHz', link = 'megahertz' },
mHz = { abbr = 'mHz', link = 'hertz' },
['MJ*mol-1'] = { abbr = 'MJ⋅mol<sup>−1</sup>', link = 'joule per mole' },
['MJ/mol'] = { abbr = 'MJ/mol', link = 'joule per mole' },
MK = { abbr = 'MK', link = 'megakelvin' },
mK = { abbr = 'mK', link = 'millikelvin' },
Mpc = { abbr = 'Mpc', link = 'parsec#Megaparsecs_and_gigaparsecs' },
['Mpc2'] = { abbr = 'Mpc<sup>2</sup>', link = 'parsec#Megaparsecs_and_gigaparsecs' },
['Mpc3'] = { abbr = 'Mpc<sup>3</sup>', link = 'parsec#Megaparsecs_and_gigaparsecs' },
MT = { abbr = 'MT', link = 'megatesla' },
mT = { abbr = 'mT', link = 'millitesla' },
muA = { abbr = 'µA', link = 'ampere' },
muG = { abbr = 'µG', link = 'microgauss' },
mug = { abbr = 'µg', link = 'microgram' },
muGal = { abbr = 'µGal', link = 'Gal (unit)' },
muHz = { abbr = 'µHz', link = 'hertz' },
muJ = { abbr = 'µJ', link = 'joule' },
muK = { abbr = 'µK', link = 'microkelvin' },
mum = { abbr = 'µm', link = 'micrometre' },
mus = { abbr = 'µs', link = 'microsecond' },
muT = { abbr = 'µT', link = 'microtesla' },
muV = { abbr = 'µV', link = 'volt' },
MV = { abbr = 'MV', link = 'volt' },
mV = { abbr = 'mV', link = 'volt' },
mya = { abbr = 'mya', link = 'million years ago' },
myr = { abbr = 'myr', link = 'million years' },
nA = { abbr = 'nA', link = 'ampere' },
['N*A-2'] = { abbr = 'N⋅A<sup>−2</sup>', link = 'permeability (electromagnetism)' },
nG = { abbr = 'nG', link = 'nanogauss' },
ng = { abbr = 'ng', link = 'nanogram' },
nHz = { abbr = 'nHz', link = 'hertz' },
nK = { abbr = 'nK', link = 'nanokelvin' },
['N*m-1'] = { abbr = 'N⋅m<sup>−1</sup>', link = 'joule (unit)' },
nT = { abbr = 'nT', link = 'nanotesla' },
nV = { abbr = 'nV', link = 'volt' },
PA = { abbr = 'PA', link = 'ampere' },
pA = { abbr = 'pA', link = 'ampere' },
['pc2'] = { abbr = 'pc<sup>2</sup>', link = 'Parsec' },
['pc3'] = { abbr = 'pc<sup>3</sup>', link = 'Parsec' },
PG = { abbr = 'PG', link = 'petagauss' },
Pg = { abbr = 'Pg', link = 'petagram' },
pG = { abbr = 'pG', link = 'picogauss' },
pg = { abbr = 'pg', link = 'picogram' },
PHz = { abbr = 'PHz', link = 'petahertz' },
pHz = { abbr = 'pHz', link = 'hertz' },
PK = { abbr = 'PK', link = 'petakelvin' },
pK = { abbr = 'pK', link = 'picokelvin' },
ppb = { abbr = 'ppb', link = 'parts per billion' },
ppm = { abbr = 'ppm', link = 'parts per million' },
PT = { abbr = 'PT', link = 'petatesla' },
pT = { abbr = 'pT', link = 'picotesla' },
PV = { abbr = 'PV', link = 'volt' },
pV = { abbr = 'pV', link = 'volt' },
R = { abbr = 'R', link = 'rayleigh (unit)' },
['R_Earth'] = { abbr = '<i>R</i><sub>⊕</sub>', link = 'Earth radius' },
['R_Jupiter'] = { abbr = '<i>R</i><sub>J</sub>', link = 'Jupiter radius' },
['R_Solar'] = { abbr = '<i>R</i><sub>☉</sub>', link = 'solar radius' },
['R_solar'] = { abbr = '<i>R</i><sub>☉</sub>', link = 'solar radius' },
s = { abbr = 's', link = 'second' },
['s-1'] = { abbr = 's<sup>−1</sup>', link = 'second' },
['s-2'] = { abbr = 's<sup>−2</sup>', link = 'second' },
['s2'] = { abbr = 's<sup>2</sup>', link = 'second' },
['Solar luminosity'] = { abbr = '<i>L</i><sub>☉</sub>', link = 'solar luminosity' },
['solar luminosity'] = { abbr = '<i>L</i><sub>☉</sub>', link = 'solar luminosity' },
['Solar mass'] = { abbr = '<i>M</i><sub>☉</sub>', link = 'solar mass' },
['solar mass'] = { abbr = '<i>M</i><sub>☉</sub>', link = 'solar mass' },
['Solar radius'] = { abbr = '<i>R</i><sub>☉</sub>', link = 'solar radius' },
['solar radius'] = { abbr = '<i>R</i><sub>☉</sub>', link = 'solar radius' },
TA = { abbr = 'TA', link = 'ampere' },
['Tbit/s'] = { abbr = 'Tbit/s', link = 'terabit per second' },
['TeV/c2'] = { abbr = 'TeV/<i>c</i><sup>2</sup>', link = 'electronvolt#Mass' },
TG = { abbr = 'TG', link = 'teragauss' },
Tg = { abbr = 'Tg', link = 'teragram' },
THz = { abbr = 'THz', link = 'terahertz' },
['TJ*mol-1'] = { abbr = 'TJ⋅mol<sup>−1</sup>', link = 'joule per mole' },
['TJ/mol'] = { abbr = 'TJ/mol', link = 'joule per mole' },
TK = { abbr = 'TK', link = 'terakelvin' },
Torr = { abbr = 'Torr', link = 'Torr' },
torr = { abbr = 'Torr', link = 'Torr' },
TT = { abbr = 'TT', link = 'teratesla' },
TV = { abbr = 'TV', link = 'volt' },
u = { abbr = 'u', link = 'atomic mass unit' },
uBP = { abbr = '<sup>14</sup>C yr BP', link = 'Radiocarbon dating#Calibration' },
V = { abbr = 'V', link = 'volt' },
VV = { abbr = 'VV', link = 'volt' },
['V/m'] = { abbr = 'V/m', link = 'electric field' },
['Vm-1'] = { abbr = 'V⋅m<sup>−1</sup>', link = 'electric field' },
['V*m-1'] = { abbr = 'V⋅m<sup>−1</sup>', link = 'electric field' },
Wb = { abbr = 'Wb', link = 'Weber (unit)' },
y = { abbr = 'y', link = 'year' },
yA = { abbr = 'yA', link = 'ampere' },
YA = { abbr = 'YA', link = 'ampere' },
year = { abbr = 'year', link = 'year' },
years = { abbr = 'years', link = 'year' },
YG = { abbr = 'YG', link = 'yottagauss' },
Yg = { abbr = 'Yg', link = 'yottagram' },
yG = { abbr = 'yG', link = 'yoctogauss' },
yg = { abbr = 'yg', link = 'yoctogram' },
YHz = { abbr = 'YHz', link = 'yottahertz' },
yHz = { abbr = 'yHz', link = 'hertz' },
YK = { abbr = 'YK', link = 'yottakelvin' },
yK = { abbr = 'yK', link = 'yoctokelvin' },
ym = { abbr = 'ym', link = 'yoctometre' },
yr = { abbr = 'yr', link = 'year#Symbols_y_and_yr' },
YT = { abbr = 'YT', link = 'Yottatesla' },
yT = { abbr = 'yT', link = 'yoctotesla' },
YV = { abbr = 'YV', link = 'volt' },
yV = { abbr = 'yV', link = 'volt' },
ZA = { abbr = 'ZA', link = 'ampere' },
zA = { abbr = 'zA', link = 'ampere' },
ZG = { abbr = 'ZG', link = 'zettagauss' },
Zg = { abbr = 'Zg', link = 'zettagram' },
zG = { abbr = 'zG', link = 'zeptogauss' },
zg = { abbr = 'zg', link = 'zeptogram' },
ZHz = { abbr = 'ZHz', link = 'hertz' },
zHz = { abbr = 'zHz', link = 'hertz' },
ZK = { abbr = 'ZK', link = 'zettakelvin' },
zK = { abbr = 'zK', link = 'zeptokelvin' },
zm = { abbr = 'zm', link = 'zeptometre' },
ZT = { abbr = 'ZT', link = 'zettatesla' },
zT = { abbr = 'zT', link = 'zeptotesla' },
ZV = { abbr = 'ZV', link = 'volt' },
zV = { abbr = 'zV', link = 'volt' },
['µA'] = { abbr = 'µA', link = 'microampere' },
['µB'] = { abbr = 'µ<sub>B</sub>', link = 'Bohr magneton' },
['µG'] = { abbr = 'µG', link = 'microgauss' },
['µGal'] = { abbr = 'µGal', link = 'Gal (unit)' },
['μg/dl'] = { abbr = 'μg/dL', link = 'gram per litre' },
['μg/dL'] = { abbr = 'μg/dL', link = 'gram per litre' },
['µHz'] = { abbr = 'µHz', link = 'hertz' },
['µK'] = { abbr = 'µK', link = 'microkelvin' },
['µN'] = { abbr = 'µ<sub>N</sub>', link = 'nuclear magneton' },
['μN'] = { abbr = 'µ<sub>N</sub>', link = 'nuclear magneton' },
['µT'] = { abbr = 'µT', link = 'microtesla' },
['µV'] = { abbr = 'µV', link = 'microvolt' }
}
return function (u, tbl)
if not tbl then
tbl = {}
end
local per = tbl.per
local link = tbl.link
local perl = tbl.per_link
local unit = units_tbl[u] or {abbr = u, link = u}
if link then
unit = '[['..unit.link..'|'..unit.abbr..']]'
else
unit = unit.abbr
end
if per then
-- Look for "*" "." or "/"
-- If found, add parentheses
if u:find('[%*%.%/]') then
unit = '('..unit..')'
end
local per_u = units_tbl[per] or {abbr = per, link=per}
if perl then
per_u = '[['..per_u..'|'..per_u.abbr..']]'
else
per_u = per_u.abbr
end
-- Look for "*" "." or "/"
-- If found, add parentheses
if per:find('[%*%.%/]') then
per_u = '('..per_u..')'
end
unit = unit..'/'..per_u
end
return unit
end