Project
Loading...
Searching...
No Matches
literals.h
Go to the documentation of this file.
1
6
7#pragma once
8#include <SI/units.h>
9#define LITERAL(_symbol, _factor, _base_unit) \
10constexpr auto operator "" _symbol(long double x) { return _base_unit(static_cast<SIdouble>(_factor ## L * x)); } \
11constexpr auto operator "" _symbol(unsigned long long x) { return _base_unit(static_cast<SIdouble>(_factor ## L * x)); }
12
13namespace SI {
14
15 // 1. SI Base Units
16 // ----------------
17 //
18 // SYMBOL FACTOR BASE UNIT EXAMPLE (sorted from big units to small one)
19 // -------------------------------------------------------------
20 // length in...
21 LITERAL(_Pm, 1e15, meters); // 1_Pm (petameter)
22 LITERAL(_Tm, 1e12, meters); // 1_Tm (terameter)
23 LITERAL(_Gm, 1e9, meters); // 1_Gm (gigameter)
24 LITERAL(_Mm, 1e6, meters); // 1_Mm (megameter)
25 LITERAL(_km, 1e3, meters); // 1_km (kilometer)
26 LITERAL( _m, 1, meters); // 1_m (meter)
27 LITERAL(_dm, 1e-1, meters); // 1_dm (decimeter)
28 LITERAL(_cm, 1e-2, meters); // 1_cm (centimeter)
29 LITERAL(_mm, 1e-3, meters); // 1_mm (millimeter)
30 LITERAL(_um, 1e-6, meters); // 1_um (micrometer)
31 LITERAL(_nm, 1e-9, meters); // 1_nm (nanometer)
32 LITERAL(_pm, 1e-12, meters); // 1_pm (picometer)
33 // time in...
34 LITERAL(_day, 86400, seconds); // 1_day (Earth day)
35 LITERAL(_days, 86400, seconds); // 2_days(Earth days)
36 LITERAL(_h, 3600, seconds); // 1_h (hour)
37 LITERAL(_min, 60, seconds); // 1_min (minute)
38 LITERAL( _s, 1, seconds); // 1_s (second)
39 LITERAL(_ms, 1e-3, seconds); // 1_ms (millisecond)
40 LITERAL(_us, 1e-6, seconds); // 1_us (microsecond)
41 LITERAL(_ns, 1e-9, seconds); // 1_ns (nanosecond)
42 LITERAL(_ps, 1e-12, seconds); // 1_ps (picosecond)
43 // mass in...
44 LITERAL(_Pt, 1e18, kilograms); // 1_Pt (metric petaton)
45 LITERAL(_Tt, 1e15, kilograms); // 1_Tt (metric teraton)
46 LITERAL(_Gt, 1e12, kilograms); // 1_Gt (metric gigaton)
47 LITERAL(_Mt, 1e9, kilograms); // 1_Mt (metric megaton)
48 LITERAL(_kt, 1e6, kilograms); // 1_kt (metric kiloton)
49 LITERAL( _t, 1e3, kilograms); // 1_t (metric ton)
50 LITERAL(_kg, 1, kilograms); // 1_kg (kilogram)
51 LITERAL( _g, 1e-3, kilograms); // 1_g (gram)
52 LITERAL(_mg, 1e-6, kilograms); // 1_mg (milligram)
53 LITERAL(_ug, 1e-9, kilograms); // 1_ug (microgram)
54 LITERAL(_ng, 1e-12, kilograms); // 1_ng (nanogram)
55 // thermodynamic temperature in...
56 LITERAL(_GK, 1e9, kelvins); // 1_GK (gigakelvin)
57 LITERAL(_MK, 1e6, kelvins); // 1_MK (megakelvin)
58 LITERAL(_kK, 1e3, kelvins); // 1_kK (kilokelvin)
59 LITERAL( _K, 1, kelvins); // 1_K (kelvin)
60 LITERAL(_mK, 1e-3, kelvins); // 1_mK (millikelvin)
61 LITERAL(_uK, 1e-6, kelvins); // 1_uK (microkelvin)
62 LITERAL(_nK, 1e-9, kelvins); // 1_nK (nanokelvin)
63 // electric current in...
64 LITERAL(_GA, 1e9, amperes); // 1_GA (gigaampere)
65 LITERAL(_MA, 1e6, amperes); // 1_MA (megaampere)
66 LITERAL(_kA, 1e3, amperes); // 1_kA (kiloampere)
67 LITERAL( _A, 1, amperes); // 1_A (ampere)
68 LITERAL(_mA, 1e-3, amperes); // 1_mA (milliampere)
69 LITERAL(_uA, 1e-6, amperes); // 1_uA (microampere)
70 LITERAL(_nA, 1e-9, amperes); // 1_nA (nanoampere)
71 LITERAL(_pA, 1e-12, amperes); // 1_pA (picoampere)
72 // amount of substance in...
73 LITERAL(_Gmol, 1e9, moles); // 1_Gmol (gigamole)
74 LITERAL(_Mmol, 1e6, moles); // 1_Mmol (megamole)
75 LITERAL(_kmol, 1e3, moles); // 1_kmol (kilomole)
76 LITERAL( _mol, 1, moles); // 1_mol (mole)
77 LITERAL(_mmol, 1e-3, moles); // 1_mmol (millimole)
78 LITERAL(_umol, 1e-6, moles); // 1_umol (micromole)
79 LITERAL(_nmol, 1e-9, moles); // 1_nmol (nanomole)
80 LITERAL(_pmol, 1e-12, moles); // 1_pmol (picomole)
81 LITERAL(_fmol, 1e-15, moles); // 1_fmol (femtomole)
82 // luminous intensity in...
83 LITERAL(_kcd, 1e3, candelas); // 1_kcd (kilocandela)
84 LITERAL( _cd, 1, candelas); // 1_cd (candela)
85
86 // 2. SI Derived Units
87 // -------------------
88 // area in...
89 LITERAL(_km², 1e6, meters2); // 1_km² (square kilometer)
90 LITERAL(_hm², 1e4, meters2); // 1_hm² (hectare)
91 LITERAL( _m², 1, meters2); // 1_m² (square meter)
92 LITERAL(_cm², 1e-4, meters2); // 1_cm² (square centimeter)
93 LITERAL(_mm², 1e-6, meters2); // 1_mm² (square millimeter)
94 LITERAL(_um², 1e-9, meters2); // 1_um² (square micrometer)
95 // per area in...
96 LITERAL(_per_km²,1e-6, per_meter2); // 1_per_km² (per square kilometer)
97 LITERAL(_per_hm²,1e-4, per_meter2); // 1_per_hm² (per hectare)
98 LITERAL(_per_m², 1, per_meter2); // 1_per_m² (per square meter)
99 LITERAL(_per_cm², 1e4, per_meter2); // 1_per_cm² (per square centimeter)
100 LITERAL(_per_mm², 1e6, per_meter2); // 1_per_mm² (per square millimeter)
101 LITERAL(_per_μm², 1e9, per_meter2); // 1_per μm² (per square micrometer)
102 // surface flow in...
103 LITERAL(_m²_per_s, 1, meters2_per_second); // 1_m²/s (square meter per second)
104 // volume in cubic meter in...
105 LITERAL(_km³, 1e9, meters3); // 1_km³ (cubic kilometer)
106 LITERAL( _m³, 1, meters3); // 1_m³ (cubic meter)
107 LITERAL(_dm³, 1e-3, meters3); // 1_dm³ (cubic decimeter)
108 LITERAL(_cm³, 1e-6, meters3); // 1_cm³ (cubic centimeter, aka ccm)
109 LITERAL(_mm³, 1e-9, meters3); // 1_mm³ (cubic millimeter)
110 LITERAL(_um³, 1e-12, meters3); // 1_um³ (cubic micrometer)
111 // volume in liter in...
112 LITERAL(_Ml, 1e3, meters3); // 1_Ml (megaliter)
113 LITERAL(_kl, 1, meters3); // 1_kl (kiloliter)
114 LITERAL(_hl, 0.1, meters3); // 1_hl (hectoliter)
115 LITERAL( _l, 1e-3, meters3); // 1_l (liter)
116 LITERAL(_ml, 1e-6, meters3); // 1_ml (milliliter)
117 LITERAL(_ul, 1e-9, meters3); // 1_ul (microliter)
118 LITERAL(_nl, 1e-12, meters3); // 1_nl (nanoliter)
119 LITERAL(_pl, 1e-15, meters3); // 1_pl (picoliter)
120 // volumetric flow in...
121 LITERAL(_m³_per_s, 1, meters3_per_second); // 1_m³/s (cubic meter per second)
122 LITERAL(_l_per_min,1.0/60000.0, meters3_per_second); // 1_l_per_min (liter per minute)
123 LITERAL(_l_per_s, 1e-3, meters3_per_second); // 1_l_per_s (liter per second)
124 // velocity per second in...
125 LITERAL(_km_per_s, 1e3, meters_per_second); // 1_km_per_s (km/s)
126 LITERAL(_m_per_s, 1, meters_per_second); // 1_m_per_s (m/s)
127 LITERAL(_mm_per_s, 1e-3, meters_per_second);// 1_mm_per_s (mm/s)
128 // velocity per hour in...
129 LITERAL(_km_per_h, 1e3, meters_per_hour); // 1_km_per_h (km/h)
130 LITERAL(_m_per_h, 1, meters_per_hour); // 1_m_per_h (m/h)
131 LITERAL(_mm_per_h, 1e-3, meters_per_hour); // 1_mm_per_h (mm/h)
132 // acceleration in...
133 LITERAL(_km_per_s²,1e3, meters_per_second2);// 1_km_per_s² (km/s²)
134 LITERAL(_m_per_s², 1, meters_per_second2); // 1_m_per_s² (m/s²)
135 // frequency in...
136 LITERAL(_PHz, 1e15, hertz); // 1_PHz (petahertz)
137 LITERAL(_THz, 1e12, hertz); // 1_THz (terahertz)
138 LITERAL(_GHz, 1e9, hertz); // 1_GHz (gigahertz)
139 LITERAL(_MHz, 1e6, hertz); // 1_MHz (megahertz)
140 LITERAL(_kHz, 1e3, hertz); // 1_kHz (kilohertz)
141 LITERAL( _Hz, 1, hertz); // 1_Hz (hertz)
142 LITERAL(_mHz, 1e-3, hertz); // 1_mHz (millihertz)
143 LITERAL(_uHz, 1e-6, hertz); // 1_uHz (microhertz)
144 // radioactive activity in...
145 LITERAL(_TBq, 1e12, hertz); // 1_TBq (terabecquerel)
146 LITERAL(_GBq, 1e9, hertz); // 1_GBq (gigabecquerel)
147 LITERAL(_MBq, 1e6, hertz); // 1_MBq (megabecquerel)
148 LITERAL(_kBq, 1e3, hertz); // 1_kBq (kilobecquerel)
149 LITERAL( _Bq, 1, hertz); // 1_Bq (becquerel)
150 // absorbed dose in...
151 LITERAL( _Gy, 1, grays); // 1_Gy (gray)
152 LITERAL(_mGy, 1e-3, grays); // 1_mGy (milligray)
153 LITERAL(_uGy, 1e-6, grays); // 1_uGy (microgray)
154 // equivalent dose and effective dose in...
155 LITERAL( _Sv, 1, sieverts); // 1_Sv (sievert)
156 LITERAL(_mSv, 1e-3, sieverts); // 1_mSv (millisievert)
157 LITERAL(_uSv, 1e-6, sieverts); // 1_uSv (microsievert)
158 // mass per area in...
159 LITERAL(_t_per_m², 1e3, kilograms_per_meter2);// 1_t_per_m²
160 LITERAL(_kg_per_m², 1, kilograms_per_meter2);// 1_kg_per_m²
161 // density in...
162 LITERAL(_t_per_m³, 1e3, kilograms_per_meter3);// 1_t_per_m³
163 LITERAL(_kg_per_m³, 1, kilograms_per_meter3);// 1_kg_per_m³
164 LITERAL(_g_per_m³,1e-3, kilograms_per_meter3);// 1_g_per_m³
165 LITERAL(_mg_per_m³,1e-9, kilograms_per_meter3);// 1_mg_per_m³
166 LITERAL(_kg_per_cm³,1e-6, kilograms_per_meter3);// 1_kg_per_cm³
167 LITERAL(_g_per_cm³,1e3, kilograms_per_meter3);// 1_g_per_cm³
168 // electric potential in...
169 LITERAL(_GV, 1e9, volts); // 1_GV (gigavolt)
170 LITERAL(_MV, 1e6, volts); // 1_MV (megavolt)
171 LITERAL(_kV, 1e3, volts); // 1_kV (kilovolt)
172 LITERAL( _V, 1, volts); // 1_V
173 LITERAL(_mV, 1e-3, volts); // 1_mV (millivolt)
174 LITERAL(_uV, 1e-6, volts); // 1_uV (microvolt)
175 LITERAL(_nV, 1e-9, volts); // 1_nV (nanovolt)
176 LITERAL(_pV, 1e-12, volts); // 1_pV (picovolt)
177 // electric resistance in...
178 LITERAL(_GOhm, 1e9, ohms); // 1_GOhm (gigaohm)
179 LITERAL(_MOhm, 1e6, ohms); // 1_MOhm (megaohm)
180 LITERAL(_kOhm, 1e3, ohms); // 1_kOhm (kiloohm)
181 LITERAL( _Ohm, 1, ohms); // 1_Ohm
182 LITERAL(_mOhm, 1e-3, ohms); // 1_mOhm (milliohm)
183 LITERAL(_uOhm, 1e-6, ohms); // 1_uOhm (microohm)
184 // electric resistance meter in...
185 LITERAL(_Ohm_m, 1, ohm_meters); // 1_Ohm_m (ohm meter)
186 // electric conductance in...
187 LITERAL(_GS, 1e9, siemens); // 1_GS (gigasiemens)
188 LITERAL(_MS, 1e6, siemens); // 1_MS (megasiemens)
189 LITERAL(_kS, 1e3, siemens); // 1_kS (kilosiemens)
190 LITERAL( _S, 1, siemens); // 1_S (siemens)
191 LITERAL(_mS, 1e-3, siemens); // 1_mS (millisiemens)
192 LITERAL(_uS, 1e-6, siemens); // 1_uS (microsiemens)
193 LITERAL(_nS, 1e-9, siemens); // 1_nS (nanosiemens)
194 // electric conductivity in...
195 LITERAL(_MS_per_m,1e6, siemens_per_meter); // 1_MS_per_m (MS/m, megasiemens per meter)
196 LITERAL(_kS_per_m,1e3, siemens_per_meter); // 1_kS_per_m (kS/m, kilosiemens per meter)
197 LITERAL( _S_per_m, 1, siemens_per_meter); // 1_S_per_m (S/m, siemens per meter)
198 // electric charge in coulombs in...
199 LITERAL(_GC, 1e9, coulombs); // 1_GC (gigaoulomb)
200 LITERAL(_MC, 1e6, coulombs); // 1_MC (megaoulomb)
201 LITERAL(_kC, 1e3, coulombs); // 1_kC (kilocoulomb)
202 LITERAL( _C, 1, coulombs); // 1_C (coulomb)
203 LITERAL(_mC, 1e-3, coulombs); // 1_mC (millicoulomb)
204 LITERAL(_uC, 1e-6, coulombs); // 1_uC (microcoulomb)
205 LITERAL(_nC, 1e-9, coulombs); // 1_nC (nanocoulomb)
206 LITERAL(_pC, 1e-12, coulombs); // 1_pC (picocoulomb)
207 // electric charge in ampere-hours in...
208 LITERAL(_GAh, 1e9, ampere_hours); // 1_GAh (gigaampere-hours)
209 LITERAL(_MAh, 1e6, ampere_hours); // 1_MAh (megaampere-hours)
210 LITERAL(_kAh, 1e3, ampere_hours); // 1_kAh (kiloampere-hours)
211 LITERAL( _Ah, 1, ampere_hours); // 1_Ah (ampere-hours)
212 LITERAL(_mAh, 1e-3, ampere_hours); // 1_mAh (milliampere-hours)
213 LITERAL(_uAh, 1e-6, ampere_hours); // 1_uAh (microampere-hours)
214 LITERAL(_nAh, 1e-9, ampere_hours); // 1_nAh (nanoampere-hours)
215 LITERAL(_pAh, 1e-12, ampere_hours); // 1_pAh (picoampere-hours)
216 // electric capacitance in...
217 LITERAL( _F, 1, farads); // 1_F (farad)
218 LITERAL(_mF, 1e-3, farads); // 1_mF (millifarad)
219 LITERAL(_uF, 1e-6, farads); // 1_uF (microfarad)
220 LITERAL(_nF, 1e-9, farads); // 1_nF (nanofarad)
221 LITERAL(_pF, 1e-12, farads); // 1_pF (picofarad)
222 // electric inductance in...
223 LITERAL( _H, 1, henrys); // 1_H (henry)
224 LITERAL(_mH, 1e-3, henrys); // 1_mH (millihenry)
225 LITERAL(_uH, 1e-6, henrys); // 1_uH (microhenry)
226 LITERAL(_nH, 1e-9, henrys); // 1_nH (nanohenry)
227 // magnetic flux in...
228 LITERAL(_Wb, 1, webers); // 1_Wb (weber)
229 // magnetic field in...
230 LITERAL(_kT, 1e3, teslas); // 1_kT (kilotesla)
231 LITERAL( _T, 1, teslas); // 1_T (tesla)
232 LITERAL(_mT, 1e-3, teslas); // 1_mT (millitesla)
233 LITERAL(_uT, 1e-6, teslas); // 1_uT (microtesla)
234 LITERAL(_nT, 1e-9, teslas); // 1_nT (nanotesla)
235 // energy in...
236 LITERAL(_PJ, 1e15, joules); // 1_PJ (petajoule)
237 LITERAL(_TJ, 1e12, joules); // 1_TJ (terajoule)
238 LITERAL(_GJ, 1e9, joules); // 1_GJ (gigajoule)
239 LITERAL(_MJ, 1e6, joules); // 1_MJ (megajoule)
240 LITERAL(_kJ, 1e3, joules); // 1_kJ (kilojoule)
241 LITERAL( _J, 1, joules); // 1_J (joule)
242 LITERAL(_mJ, 1e-3, joules); // 1_mJ (millijoule)
243 LITERAL(_kJ_per_mol,1e3,joules_per_mol); // 1_kJ_per_mol (kJ/mol)
244 // or in...
245 LITERAL(_Mcal,4186800,joules); // 1_Mcal (megacalorie)
246 LITERAL(_kcal,4186.8, joules); // 1_kcal (kilocalorie)
247 LITERAL( _cal, 4.1868,joules); // 1_cal (calorie)
248 // active power in...
249 LITERAL(_TW, 1e12, watts); // 1_TW (terawatt)
250 LITERAL(_GW, 1e9, watts); // 1_GW (gigawatt)
251 LITERAL(_MW, 1e6, watts); // 1_MW (megawatt)
252 LITERAL(_kW, 1e3, watts); // 1_kW (kilowatt)
253 LITERAL( _W, 1, watts); // 1_W (watt)
254 LITERAL(_mW, 1e-3, watts); // 1_mW (milliwatt)
255 LITERAL(_uW, 1e-6, watts); // 1_uW (microwatt)
256 LITERAL(_TWh, 3.6e15, watts); // 1_TWh (terawatt-hour)
257 LITERAL(_GWh, 3.6e12, watts); // 1_GWh (gigawatt-hour)
258 LITERAL(_MWh, 3.6e9, watts); // 1_MWh (megawatt-hour)
259 LITERAL(_kWh, 3.6e6, watts); // 1_kWh (kilowatt-hour)
260 LITERAL( _Wh, 3.6e3, watts); // 1_Wh (watt-hour)
261 // active power per mass in...
262 LITERAL(_kWh_per_kg, 3.6e6, joules_per_second_per_kilogram); // 1_kWh_per_kg (kilowatt-hour per kilogram)
263 LITERAL(_Wh_per_kg, 3.6e3, joules_per_second_per_kilogram); // 1_Wh_per_kg (watt-hour per kilogram)
264 // power intensity in...
265 LITERAL(_MW_per_m²,1e6, watts_per_meter2); // 1_MW_per_m² (kilowatt per square metre)
266 LITERAL(_kW_per_m²,1e3, watts_per_meter2); // 1_kW_per_m² (kilowatt per square metre)
267 LITERAL(_W_per_m², 1, watts_per_meter2); // 1_W_per_m² (watt per square metre)
268 LITERAL(_mW_per_m²,1e-3, watts_per_meter2); // 1_mW_per_m² (milliwatt per square metre)
269 LITERAL(_uW_per_m²,1e-6, watts_per_meter2); // 1_uW_per_m² (milliwatt per square metre)
270 // pressure in...
271 LITERAL(_GPa, 1e9, pascals); // 1_GPa (gigapascal)
272 LITERAL(_MPa, 1e6, pascals); // 1_MPa (megapascal)
273 LITERAL(_kPa, 1e3, pascals); // 1_kPa (kilopascal)
274 LITERAL(_hPa, 100, pascals); // 1_hPa (hectopascal)
275 LITERAL( _Pa, 1, pascals); // 1_Pa (pascal)
276 LITERAL(_mPa, 1e-3, pascals); // 1_mPa (millipascal)
277 LITERAL(_uPa, 1e-6, pascals); // 1_uPa (micropascal)
278 // force in...
279 LITERAL(_ZN, 1e21, newtons); // 1_ZN (zettanewton)
280 LITERAL(_EN, 1e18, newtons); // 1_EN (exanewton)
281 LITERAL(_PN, 1e15, newtons); // 1_PN (petanewton)
282 LITERAL(_TN, 1e12, newtons); // 1_TN (teranewton)
283 LITERAL(_GN, 1e9, newtons); // 1_GN (giganewton)
284 LITERAL(_MN, 1e6, newtons); // 1_MN (meganewton)
285 LITERAL(_kN, 1e3, newtons); // 1_kN (kilonewton)
286 LITERAL( _N, 1, newtons); // 1_N (newton)
287 LITERAL(_mN, 1e-3, newtons); // 1_mN (millinewton)
288 LITERAL(_uN, 1e-6, newtons); // 1_uN (micronewton)
289 LITERAL(_pN, 1e-9, newtons); // 1_pN (piconewton)
290 // luminous flux in...
291 LITERAL(_lm, 1, lumens); // 1_lm (lumen)
292 LITERAL(_lm_s, 1, lumenseconds); // 1_lm_s (lumen second)
293 LITERAL(_lm_per_W, 1, lumens_per_watt); // 1_lm_per_W (lumen per watt)
294 // luminous flux per area in...
295 LITERAL(_klx, 1e3, lux); // 1_klx (kilolux)
296 LITERAL( _lx, 1, lux); // 1_lx (lux)
297 LITERAL(_mlx, 1e-3, lux); // 1_mlx (millilux)
298 LITERAL(_ulx, 1e-6, lux); // 1_ulx (microlux)
299 LITERAL(_plx, 1e-9, lux); // 1_plx (picolux)
300 // catalytic activity in...
301 LITERAL( _kat, 1, mols_per_second); // 1_kat (katal)
302 LITERAL(_mkat, 1e-3, mols_per_second); // 1_mkat (millikatal)
303 LITERAL(_ukat, 1e-6, mols_per_second); // 1_mukat (microkatal)
304 LITERAL(_nkat, 1e-9, mols_per_second); // 1_nkat (nanokatal)
305 // other...
306 LITERAL(_Nm, 1, newtonmeters); // 1_Nm (newtonmeter)
307 LITERAL(_rad, 1, radians); // 1_rad (radian)
308 LITERAL(_deg,0.01745329251994329576923690768489, radians); // 1_deg (angle degree)
309 LITERAL(_sr, 1, steradians); // 1_sr (steradian)
310 LITERAL(_km³_per_s²,1e9, meters3_per_second2);// 1_km³_per_s² (km³/s²)
311 LITERAL(_kg_per_mol,1,kilograms_per_mol); // 1_kg_per_mol (kg/mol)
312 LITERAL(_kg_per_W, 1,kilograms_per_watt); // 1_kg_per_W (kg/W)
313 LITERAL(_kg_per_kW,1e-3,kilograms_per_watt); // 1_kg_per_kW (kg/kW)
314
315 // 3. Imperial Units
316 // -----------------
317 // length in...
318 LITERAL(_in, 0.0254, meters); // 1_in (inch)
319 LITERAL(_ft, 0.3048, meters); // 1_ft (feet, 12 inches)
320 LITERAL(_yd, 0.9144, meters); // 1_yd (yard)
321 LITERAL(_ch, 20.1168, meters); // 1_ch (chain)
322 LITERAL(_mi, 1'609.344, meters); // 1_mi (statute mile, 1760 yd or 80 chains)
323 LITERAL(_cable, 185.2, meters); // 1_cable (one tenth of a nautical mile)
324 LITERAL(_nmi, 1852, meters); // 1_nmi (nautical mile, about one arc minute)
325 LITERAL(_NM, 1852, meters); // 1_NM (nautical mile, about one arc minute)
326 // mass in...
327 LITERAL(_oz, 0.028'349'523'125, kilograms); // 1_oz (ounce, 1/16 of a pound)
328 LITERAL(_lb, 0.453'592'37, kilograms); // 1_lb (pound)
329 // volume in...
330 LITERAL(_gal, 4.54609e-3, meters3);// 1_gal (US gallon)
331 // velocity in...
332 LITERAL(_kn, 1852, meters_per_hour); // 1_kn (knots)
333 LITERAL(_ft_per_min, 0.00508, meters_per_second); // 1_ft_per_min (feet/min)
334 LITERAL(_in_per_s, 0.0254, meters_per_second); // 1_in_per_s (inch/sec)
335 LITERAL(_in_per_h, 0.0000070556, meters_per_second); // 1_in_per_h (inch/hour)
336 LITERAL(_mph, .44704, meters_per_second); // 1_mph (miles/hour)
337 // temperature in...
338 LITERAL(_degF, 1, fahrenheit); // 1_degF (°Fahrenheit)
339
340 // 4. Astronomical Units
341 // ---------------------
342 LITERAL(_Gpc, 30'856'775'814'913'673e9, meters); // 1_Gpc (gigaparsec, IAU 2012)
343 LITERAL(_Mpc, 30'856'775'814'913'673e6, meters); // 1_Mpc (megaparsec, IAU 2012)
344 LITERAL(_kpc, 30'856'775'814'913'673e3, meters); // 1_kpc (kiloparsec, IAU 2012)
345 LITERAL(_pc, 30'856'775'814'913'673e0, meters); // 1_pc (parsec, IAU 2012)
346 LITERAL(_ly, 9'460'730'472'580'800, meters); // 1_ly (light-year)
347 LITERAL(_au, 149'597'870'700, meters); // 1_au (astronomical unit, Earth-Sun distance)
348 LITERAL(_ls, 299'792'458, meters); // 1_ls (light-second)
349 LITERAL(_Msun, 1.98892e30, kilograms);// 1_Msun (solar mass, ~1 Sun mass)
350 LITERAL(_Mjup, 1.898e27, kilograms);// 1_Mjup (Jupiter mass)
351 LITERAL(_Mearth, 5.9742e24, kilograms);// 1_Mearth (Earth mass)
352 LITERAL(_Mmoon, 7.34767309e22, kilograms);// 1_Mmoon (Moon mass)
353
354 // 5. Digital Units
355 // ----------------
356 // bytes absolute...
357 LITERAL(_byte, 1, bytes); // 1_byte
358 LITERAL(_kB, 1e3, bytes); // 1_kB (kilobyte)
359 LITERAL(_kiB, 1024, bytes); // 1_kiB (kibibyte)
360 LITERAL(_MB, 1e6, bytes); // 1_MB (megabyte)
361 LITERAL(_MiB, 1'048'576, bytes); // 1_MiB (mibibyte)
362 LITERAL(_GB, 1e9, bytes); // 1_GB (gigabyte)
363 LITERAL(_GiB, 1'073'741'824, bytes); // 1_GiB (gibibyte)
364 LITERAL(_TB, 1e12, bytes); // 1_TB (terabyte)
365 LITERAL(_TiB, 1'099'511'627'776, bytes); // 1_TiB (tebibyte)
366 LITERAL(_PB, 1e15, bytes); // 1_PB (petabyte)
367 LITERAL(_EB, 1e18, bytes); // 1_EB (exabyte)
368 LITERAL(_ZB, 1e21, bytes); // 1_ZB (zettabyte)
369 LITERAL(_YB, 1e24, bytes); // 1_ZY (yottabyte)
370 LITERAL(_RB, 1e27, bytes); // 1_RY (ronnabyte)
371 LITERAL(_QB, 1e30, bytes); // 1_QY (quettabyte)
372 // bytes per second...
373 LITERAL(_bytes_per_s, 1, bytes_per_second); // 1_bytes_per_s
374 LITERAL(_KBps, 1e3, bytes_per_second); // 1_KBps (kilobyte/sec)
375 LITERAL(_KiBps, 1024, bytes_per_second); // 1_KiBps (kibibyte/sec)
376 LITERAL(_MBps, 1e6, bytes_per_second); // 1_MBps (megabyte/sec)
377 LITERAL(_MiBps, 1'048'576, bytes_per_second); // 1_MiBps (mibibyte/sec)
378 LITERAL(_GBps, 1e9, bytes_per_second); // 1_GBps (gigabyte/sec)
379 LITERAL(_GiBps, 1'073'741'824, bytes_per_second); // 1_GiBps (gibibyte/sec)
380 LITERAL(_TBps, 1e12, bytes_per_second); // 1_TBps (terabyte/sec)
381 LITERAL(_TiBps, 1'099'511'627'776, bytes_per_second); // 1_TiBps (tebibyte/sec)
382 LITERAL(_PBps, 1e15, bytes_per_second); // 1_PBps (petabyte/sec)
383 // bits per second...
384 LITERAL(_Kbps, 1e3 / 8, bytes_per_second); // 1_Kbps (kilobit/sec)
385 LITERAL(_Mbps, 1e6 / 8, bytes_per_second); // 1_Mbps (megabit/sec)
386 LITERAL(_Gbps, 1e9 / 8, bytes_per_second); // 1_Gbps (gigabit/sec)
387 LITERAL(_Tbps, 1e12 / 8, bytes_per_second); // 1_Tbps (terabit/sec)
388
389 // 6. Various Units
390 // ----------------
391 LITERAL(_Gbar, 1e14, pascals); // 1_Gbar (gigabar)
392 LITERAL(_Mbar, 1e11, pascals); // 1_Mbar (megabar)
393 LITERAL(_kbar, 1e8, pascals); // 1_kbar (kilobar)
394 LITERAL(_bar, 1e5, pascals); // 1_bar
395 LITERAL(_mbar, 1e2, pascals); // 1_mbar (millibar)
396 LITERAL(_psi, 6'894.76, pascals); // 1_psi (pound per square inch)
397 LITERAL(_atm, 101'325, pascals); // 1_atm (atmosphere)
398 LITERAL(_inHg, 3'386.39, pascals); // 1_inHg (inch of mercury)
399 LITERAL(_mmHg, 101'325.0 / 760.0, pascals); // 1_mmHg (millimetre of mercury)
400 LITERAL(_Torr, 101'325.0 / 760.0, pascals); // 1_Torr (same as mmHg)
401 LITERAL(_degC, 1, celsius); // 1_degC (°Celsius)
402 LITERAL(_degR, 5.0/9.0, kelvins); // 1_degR (°Rankine)
403 LITERAL(_Mach, 330, meters_per_second); // 1_Mach
404 LITERAL(_Da, 1.660'539'068'9252e-27, kilograms);// 1_Da (dalton, or unified atomic mass unit)
405 LITERAL(_eV, 1.602'176'634e-19, joules); // 1_eV (electronvolt, as of 2019 SI)
406 LITERAL(_hp, 745.69987158227022, watts); // 1_hp (horsepower)
407 LITERAL(_shp, 745.69987158227022, watts); // 1_shp (shaft horsepower)
408 LITERAL(_PS, 735.49875, watts); // 1_PS ('Pferdestärke', german horsepower)
409 LITERAL(_Ang, 1e-10, meters); // 1_Ang (angstrom)
410 LITERAL(_percent, 0.01, dimensionless); // 1_percent (%, per hundred)
411 LITERAL(_bpm, 1.0/60.0, hertz); // 1_bpm (beats per minute)
412 LITERAL(_smoot, 1.7018, meters); // 1_smoot (one Oliver R. Smoot height, fun unit)
413
414 // 7. References
415 // -------------
416 // 1. https://en.wikipedia.org/wiki/International_System_of_Units
417 // 2. https://en.wikipedia.org/wiki/Astronomical_system_of_units
418 // 3. https://en.wikipedia.org/wiki/Imperial_units
419
420} // end of namespace SI
421
422#undef LITERAL
#define LITERAL(_symbol, _factor, _base_unit)
Definition literals.h:9
Definition constants.h:12
double dimensionless
to hold a quantity without any unit, e.g. 42
Definition datatypes.h:18
angle radians
basic unit of radians for angle
Definition internal.h:15
Defines 103 type-safe units, e.g. SI::meters.