Skip to content

SI System

Namespace: mp_units::si

Module: mp_units.systems

Header: <mp-units/systems/si.h>

Secondary Headers:

  • <mp-units/systems/si/chrono.h>
  • <mp-units/systems/si/constants.h>
  • <mp-units/systems/si/core.h>
  • <mp-units/systems/si/math.h>
  • <mp-units/systems/si/prefix_utils.h>
  • <mp-units/systems/si/prefixes.h>
  • <mp-units/systems/si/unit_symbols.h>
  • <mp-units/systems/si/unit_symbols_essential.h>
  • <mp-units/systems/si/units.h>

Prefixes

Name Symbol Definition
quecto q mag_power<10, -30>
ronto r mag_power<10, -27>
yocto y mag_power<10, -24>
zepto z mag_power<10, -21>
atto a mag_power<10, -18>
femto f mag_power<10, -15>
pico p mag_power<10, -12>
nano n mag_power<10, -9>
micro µ (u) mag_power<10, -6>
milli m mag_power<10, -3>
centi c mag_power<10, -2>
deci d mag_power<10, -1>
deca da mag_power<10, 1>
hecto h mag_power<10, 2>
kilo k mag_power<10, 3>
mega M mag_power<10, 6>
giga G mag_power<10, 9>
tera T mag_power<10, 12>
peta P mag_power<10, 15>
exa E mag_power<10, 18>
zetta Z mag_power<10, 21>
yotta Y mag_power<10, 24>
ronna R mag_power<10, 27>
quetta Q mag_power<10, 30>

Units

Unit Name Symbol unit_symbol Definition
ampere A A kind: isq::electric_current
becquerel Bq Bq one / second
kind: isq::activity
candela cd cd kind: isq::luminous_intensity
coulomb C C ampere * second
degree_Celsius ℃ (`C) deg_C kelvin
origin: ice_point
farad F F coulomb / volt
kind: isq::capacitance
gram g g kind: isq::mass
gray Gy Gy joule / kilogram
kind: isq::absorbed_dose
henry H H weber / ampere
hertz Hz Hz one / second
kind: isq::frequency
joule J J newton * metre
kind: isq::energy
katal kat kat mole / second
kind: isq::catalytic_activity
kelvin K K kind: isq::thermodynamic_temperature
origin: absolute_zero
kilogram — kg kilo<gram>
lumen lm lm candela * steradian
kind: isq::luminous_flux
lux lx lx lumen / square(metre)
kind: isq::illuminance
metre m m kind: isq::length
mole mol mol kind: isq::amount_of_substance
newton N N kilogram * metre / square(second)
kind: isq::force
ohm Ω (ohm) Ω, ohm volt / ampere
kind: isq::impedance
pascal Pa Pa newton / square(metre)
kind: isq::pressure
radian rad rad metre / metre
kind: isq::angular_measure
second s s kind: isq::duration
siemens S S one / ohm
kind: isq::admittance
sievert Sv Sv joule / kilogram
kind: isq::dose_equivalent
steradian sr sr square(metre) / square(metre)
kind: isq::solid_angular_measure
tesla T T weber / square(metre)
kind: isq::magnetic_flux_density
volt V V watt / ampere
kind: isq::electric_potential
watt W W joule / second
weber Wb Wb volt * second

Non-SI units accepted for use with the SI

Unit Name Symbol unit_symbol Definition
arcminute ′ (') arcmin mag_ratio<1, 60> * degree
arcsecond ″ ('') arcsec mag_ratio<1, 60> * arcminute
are a a square(deca<metre>)
astronomical_unit au au mag<149'597'870'700> * metre
dalton Da Da mag_ratio<16'605'390'666'050, 10'000'000'000'000> * mag_power<10, -27> * kilogram
day d d mag<24> * hour
degree ° (deg) deg mag_ratio<1, 180> * π * radian
electronvolt eV eV mag_ratio<1'602'176'634, 1'000'000'000> * mag_power<10, -19> * joule
hectare — ha hecto<are>
hour h h mag<60> * minute
litre L l, L cubic(deci<metre>)
minute min min mag<60> * second
tonne t t mag<1000> * kilogram

Namespace

These units are defined in the mp_units::non_si namespace and are made available in the mp_units::si namespace through a using-directive.

Prefixed unit symbols

Not every unit has a symbol for every prefix. A combination that is not listed here does not exist, however reasonable it looks.

Unit Essential header Full header adds
ampere fA pA nA uA µA mA kA qA rA yA zA aA cA dA daA hA MA GA TA PA EA ZA YA RA QA
becquerel mBq kBq MBq GBq TBq PBq qBq rBq yBq zBq aBq fBq pBq nBq uBq µBq cBq dBq daBq hBq EBq ZBq YBq RBq QBq
candela mcd qcd rcd ycd zcd acd fcd pcd ncd ucd µcd ccd dcd dacd hcd kcd Mcd Gcd Tcd Pcd Ecd Zcd Ycd Rcd Qcd
coulomb pC nC uC µC mC qC rC yC zC aC fC cC dC daC hC kC MC GC TC PC EC ZC YC RC QC
farad fF pF nF uF µF mF qF rF yF zF aF cF dF daF hF kF MF GF TF PF EF ZF YF RF QF
gram fg pg ng ug µg mg Mg qg rg yg zg ag cg dg dag hg Gg Tg Pg Eg Zg Yg Rg Qg
gray uGy µGy mGy cGy kGy qGy rGy yGy zGy aGy fGy pGy nGy dGy daGy hGy MGy GGy TGy PGy EGy ZGy YGy RGy QGy
henry nH uH µH mH qH rH yH zH aH fH pH cH dH daH hH kH MH GH TH PH EH ZH YH RH QH
hertz nHz uHz µHz mHz kHz MHz GHz THz PHz qHz rHz yHz zHz aHz fHz pHz cHz dHz daHz hHz EHz ZHz YHz RHz QHz
joule aJ fJ pJ nJ uJ µJ mJ kJ MJ GJ TJ PJ EJ ZJ qJ rJ yJ zJ cJ dJ daJ hJ YJ RJ QJ
katal nkat ukat µkat qkat rkat ykat zkat akat fkat pkat mkat ckat dkat dakat hkat kkat Mkat Gkat Tkat Pkat Ekat Zkat Ykat Rkat Qkat
kelvin pK nK uK µK mK MK qK rK yK zK aK fK cK dK daK hK kK GK TK PK EK ZK YK RK QK
lumen klm qlm rlm ylm zlm alm flm plm nlm ulm µlm mlm clm dlm dalm hlm Mlm Glm Tlm Plm Elm Zlm Ylm Rlm Qlm
lux mlx klx qlx rlx ylx zlx alx flx plx nlx ulx µlx clx dlx dalx hlx Mlx Glx Tlx Plx Elx Zlx Ylx Rlx Qlx
metre fm pm nm um µm mm cm dm km qm rm ym zm am dam hm Mm Gm Tm Pm Em Zm Ym Rm Qm
mole fmol pmol nmol umol µmol mmol cmol kmol qmol rmol ymol zmol amol dmol damol hmol Mmol Gmol Tmol Pmol Emol Zmol Ymol Rmol Qmol
newton pN nN uN µN mN cN daN kN MN qN rN yN zN aN fN dN hN GN TN PN EN ZN YN RN QN
ohm uohm µΩ mohm mΩ kohm kΩ Mohm MΩ Gohm GΩ Tohm TΩ qohm qΩ rohm rΩ yohm yΩ zohm zΩ aohm aΩ fohm fΩ pohm pΩ nohm nΩ cohm cΩ dohm dΩ daohm daΩ hohm hΩ Pohm PΩ Eohm EΩ Zohm ZΩ Yohm YΩ Rohm RΩ Qohm QΩ
pascal uPa µPa mPa daPa hPa kPa MPa GPa TPa qPa rPa yPa zPa aPa fPa pPa nPa cPa dPa PPa EPa ZPa YPa RPa QPa
radian nrad urad µrad mrad qrad rrad yrad zrad arad frad prad crad drad darad hrad krad Mrad Grad Trad Prad Erad Zrad Yrad Rrad Qrad
second as fs ps ns us µs ms ks qs rs ys zs cs ds das hs Ms Gs Ts Ps Es Zs Ys Rs Qs
siemens pS nS uS µS mS dS MS qS rS yS zS aS fS cS daS hS kS GS TS PS ES ZS YS RS QS
sievert nSv uSv µSv mSv qSv rSv ySv zSv aSv fSv pSv cSv dSv daSv hSv kSv MSv GSv TSv PSv ESv ZSv YSv RSv QSv
steradian msr qsr rsr ysr zsr asr fsr psr nsr usr µsr csr dsr dasr hsr ksr Msr Gsr Tsr Psr Esr Zsr Ysr Rsr Qsr
tesla fT pT nT uT µT mT qT rT yT zT aT cT dT daT hT kT MT GT TT PT ET ZT YT RT QT
volt nV uV µV mV kV MV qV rV yV zV aV fV pV cV dV daV hV GV TV PV EV ZV YV RV QV
watt pW nW uW µW mW kW MW GW TW PW qW rW yW zW aW fW cW dW daW hW EW ZW YW RW QW
weber — qWb rWb yWb zWb aWb fWb pWb nWb uWb µWb mWb cWb dWb daWb hWb kWb MWb GWb TWb PWb EWb ZWb YWb RWb QWb

Two headers

The essential symbols come from <mp-units/systems/si/unit_symbols_essential.h>. The rest need <mp-units/systems/si/unit_symbols.h>, which is more expensive to compile, so include it only when you need an unusual prefix.

Constants

Name Symbol unit_symbol Definition
magnetic_constant μ₀ (u_0) — mag<4> * mag_power<10, -7> * π * henry / metre
reduced_planck_constant ℏ (hbar) — si2019::planck_constant / (mag<2> * π)
si2019::avogadro_constant N_A — mag_ratio<602'214'076, 100'000'000> * mag_power<10, 23> / mole
si2019::boltzmann_constant k — mag_ratio<1'380'649, 1'000'000> * mag_power<10, -23> * joule / kelvin
si2019::elementary_charge e — mag_ratio<1'602'176'634, 1'000'000'000> * mag_power<10, -19> * coulomb
si2019::hyperfine_structure_transition_frequency_of_cs Δν_Cs (dv_Cs) — mag<9'192'631'770> * hertz
si2019::luminous_efficacy K_cd — mag<683> * lumen / watt
si2019::planck_constant h — mag_ratio<662'607'015, 100'000'000> * mag_power<10, -34> * joule * second
si2019::speed_of_light_in_vacuum c — mag<299'792'458> * metre / second
standard_gravity g₀ (g_0) — mag_ratio<980'665, 100'000> * metre / square(second)

Inline Namespaces

The mp_units::si::si2019 namespace is inline in mp_units::si, making its members directly accessible from the parent namespace.

Point Origins

Name Type Definition
absolute_zero absolute isq::thermodynamic_temperature
chrono_point_origin absolute isq::time
ice_point relative ::mp_units::point<milli<kelvin>>(273'150)
zeroth_degree_Celsius relative alias to ice_point
zeroth_kelvin absolute alias to absolute_zero