13 #ifndef VNIX_UNITS_HPP 14 #define VNIX_UNITS_HPP 16 #include <vnix/units/dimval.hpp> 39 constexpr static long double const sf = 1;
50 constexpr long double const meters<T>::
sf;
54 template <
typename T>
constexpr meters<
T>
m(
T(1));
61 constexpr static long double const sf = 0.01;
83 constexpr static long double const sf = 0.001;
102 template <
typename T>
105 constexpr static long double const sf = 1.0e-06;
115 template <
typename T>
124 template <
typename T>
127 constexpr static long double const sf = 1.0e-09;
137 template <
typename T>
146 template <
typename T>
149 constexpr static long double const sf = 1.0e-12;
159 template <
typename T>
168 template <
typename T>
171 constexpr static long double const sf = 1.0e-15;
181 template <
typename T>
190 template <
typename T>
193 constexpr static long double const sf = 1000.0;
203 template <
typename T>
212 template <
typename T>
215 constexpr static long double const sf = 1000000.0;
225 template <
typename T>
234 template <
typename T>
237 constexpr static long double const sf = 1;
247 template <
typename T>
248 constexpr long double const grams<T>::
sf;
252 template <
typename T>
constexpr grams<
T>
g(
T(1));
256 template <
typename T>
259 constexpr static long double const sf = 0.001;
269 template <
typename T>
278 template <
typename T>
281 constexpr static long double const sf = 1.0e-06;
291 template <
typename T>
300 template <
typename T>
303 constexpr static long double const sf = 1.0e-09;
313 template <
typename T>
322 template <
typename T>
325 constexpr static long double const sf = 1.0e-12;
335 template <
typename T>
344 template <
typename T>
347 constexpr static long double const sf = 1000.0;
357 template <
typename T>
366 template <
typename T>
369 constexpr static long double const sf = 1000000.0;
379 template <
typename T>
388 template <
typename T>
391 constexpr static long double const sf = 1;
401 template <
typename T>
402 constexpr long double const seconds<T>::
sf;
406 template <
typename T>
constexpr seconds<
T>
s(
T(1));
410 template <
typename T>
413 constexpr static long double const sf = 0.001;
423 template <
typename T>
432 template <
typename T>
435 constexpr static long double const sf = 1.0e-06;
445 template <
typename T>
454 template <
typename T>
457 constexpr static long double const sf = 1.0e-09;
467 template <
typename T>
476 template <
typename T>
479 constexpr static long double const sf = 1.0e-12;
489 template <
typename T>
498 template <
typename T>
501 constexpr static long double const sf = 1.0e-15;
511 template <
typename T>
520 template <
typename T>
523 constexpr static long double const sf = 1;
533 template <
typename T>
542 template <
typename T>
545 constexpr static long double const sf = 0.001;
555 template <
typename T>
564 template <
typename T>
567 constexpr static long double const sf = 1.0e-06;
577 template <
typename T>
586 template <
typename T>
589 constexpr static long double const sf = 1.0e-09;
599 template <
typename T>
608 template <
typename T>
611 constexpr static long double const sf = 1.0e-12;
621 template <
typename T>
630 template <
typename T>
633 constexpr static long double const sf = 1;
643 template <
typename T>
644 constexpr long double const kelvins<T>::
sf;
648 template <
typename T>
constexpr kelvins<
T>
K(
T(1));
652 template <
typename T>
655 constexpr static long double const sf = 0.001;
665 template <
typename T>
674 template <
typename T>
677 constexpr static long double const sf = 1.0e-06;
687 template <
typename T>
696 template <
typename T>
699 constexpr static long double const sf = 1.0e-09;
709 template <
typename T>
718 template <
typename T>
721 constexpr static long double const sf = 0.3048*m<
long double>
.sf;
731 template <
typename T>
732 constexpr long double const feet<T>::
sf;
736 template <
typename T>
constexpr feet<
T>
ft(
T(1));
740 template <
typename T>
743 constexpr static long double const sf = 1000.0;
753 template <
typename T>
762 template <
typename T>
765 constexpr static long double const sf = ft<
long double>
.sf/12;
775 template <
typename T>
776 constexpr long double const inches<T>::
sf;
780 template <
typename T>
constexpr inches<
T>
in(
T(1));
784 template <
typename T>
787 constexpr static long double const sf = 3*ft<
long double>
.sf;
797 template <
typename T>
798 constexpr long double const yards<T>::
sf;
802 template <
typename T>
constexpr yards<
T>
yd(
T(1));
806 template <
typename T>
809 constexpr static long double const sf = 5280*ft<
long double>
.sf;
819 template <
typename T>
820 constexpr long double const miles<T>::
sf;
824 template <
typename T>
constexpr miles<
T>
mi(
T(1));
828 template <
typename T>
831 constexpr static long double const sf = kg<
long double>
.sf*m<
long double>
.sf/s<
long double>
.sf/s<
long double>
.sf;
841 template <
typename T>
842 constexpr long double const newtons<T>::
sf;
846 template <
typename T>
constexpr newtons<
T>
N(
T(1));
850 template <
typename T>
853 constexpr static long double const sf = 0.001;
863 template <
typename T>
872 template <
typename T>
875 constexpr static long double const sf = 1.0e-06;
885 template <
typename T>
894 template <
typename T>
897 constexpr static long double const sf = 1000.0;
907 template <
typename T>
916 template <
typename T>
919 constexpr static long double const sf = 1000000.0;
929 template <
typename T>
938 template <
typename T>
941 constexpr static long double const sf = g<
long double>
.sf*cm<
long double>
.sf/s<
long double>
.sf/s<
long double>
.sf;
951 template <
typename T>
952 constexpr long double const dynes<T>::
sf;
956 template <
typename T>
constexpr dynes<
T>
dyn(
T(1));
960 template <
typename T>
963 constexpr static long double const sf = N<
long double>
.sf*m<
long double>
.sf;
973 template <
typename T>
974 constexpr long double const joules<T>::
sf;
978 template <
typename T>
constexpr joules<
T>
J(
T(1));
982 template <
typename T>
985 constexpr static long double const sf = 0.001;
995 template <
typename T>
1004 template <
typename T>
1007 constexpr static long double const sf = 1.0e-06;
1017 template <
typename T>
1026 template <
typename T>
1029 constexpr static long double const sf = 1000.0;
1039 template <
typename T>
1048 template <
typename T>
1051 constexpr static long double const sf = 1000000.0;
1061 template <
typename T>
1070 template <
typename T>
1073 constexpr static long double const sf = 1000000000.0;
1083 template <
typename T>
1092 template <
typename T>
1095 constexpr static long double const sf = dyn<
long double>
.sf*cm<
long double>
.sf;
1105 template <
typename T>
1106 constexpr long double const ergs<T>::
sf;
1110 template <
typename T>
constexpr ergs<
T>
erg(
T(1));
1114 template <
typename T>
1117 constexpr static long double const sf = J<
long double>
.sf/s<
long double>
.sf;
1127 template <
typename T>
1128 constexpr long double const watts<T>::
sf;
1132 template <
typename T>
constexpr watts<
T>
W(
T(1));
1136 template <
typename T>
1139 constexpr static long double const sf = 0.001;
1149 template <
typename T>
1158 template <
typename T>
1161 constexpr static long double const sf = 1.0e-06;
1171 template <
typename T>
1180 template <
typename T>
1183 constexpr static long double const sf = 1000.0;
1193 template <
typename T>
1202 template <
typename T>
1205 constexpr static long double const sf = 1000000.0;
1215 template <
typename T>
1224 template <
typename T>
1227 constexpr static long double const sf = 1000000000.0;
1237 template <
typename T>
1246 template <
typename T>
1249 constexpr static long double const sf = C<
long double>
.sf/s<
long double>
.sf;
1259 template <
typename T>
1260 constexpr long double const amperes<T>::
sf;
1264 template <
typename T>
constexpr amperes<
T>
A(
T(1));
1268 template <
typename T>
1271 constexpr static long double const sf = 0.001;
1281 template <
typename T>
1290 template <
typename T>
1293 constexpr static long double const sf = 1.0e-06;
1303 template <
typename T>
1316 template <
typename T>
1322 template <
typename T>
1328 template <
typename T>
1334 template <
typename T>
1340 template <
typename T>
1346 template <
typename T>
1352 template <
typename T>
1358 template <
typename T>
1364 template <
typename T>
1370 template <
typename T>
1376 template <
typename T>
1382 template <
typename T>
1388 template <
typename T>
1394 template <
typename T>
1400 template <
typename T>
1406 template <
typename T>
1412 template <
typename T>
1418 template <
typename T>
1424 template <
typename T>
1430 template <
typename T>
1436 template <
typename T>
1442 template <
typename T>
1448 template <
typename T>
1454 template <
typename T>
1460 template <
typename T>
1466 template <
typename T>
1472 template <
typename T>
1478 template <
typename T>
1484 template <
typename T>
1490 template <
typename T>
1496 template <
typename T>
1502 template <
typename T>
1508 template <
typename T>
1514 template <
typename T>
1520 template <
typename T>
1526 template <
typename T>
1532 template <
typename T>
1538 template <
typename T>
1544 template <
typename T>
1550 template <
typename T>
1556 template <
typename T>
1562 template <
typename T>
1568 template <
typename T>
1574 template <
typename T>
1580 template <
typename T>
1586 template <
typename T>
1592 template <
typename T>
1598 template <
typename T>
1604 template <
typename T>
1610 template <
typename T>
1616 template <
typename T>
1622 template <
typename T>
1628 template <
typename T>
1634 template <
typename T>
1640 template <
typename T>
1646 template <
typename T>
1652 template <
typename T>
1658 template <
typename T>
1666 using dyndim = basic_dyndim<
float>;
1977 return float(v)*
kft;
2031 return float(v)*
muN;
2058 return float(v)*
dyn;
2085 return float(v)*
muJ;
2121 return float(v)*
erg;
2148 return float(v)*
muW;
2202 return float(v)*
muA;
2205 using speed =
decltype(
m/
s);
2206 using acceleration =
decltype(
m/
s/
s);
2207 using momentum =
decltype(
g*
m/
s);
2208 using force =
decltype(
N/1);
2209 using current =
decltype(
C/
s);
2210 using energy =
decltype(
J/1);
2211 using power =
decltype(
W/1);
2212 using area =
decltype(
m*
m);
2213 using volume =
decltype(
m*
m*
m);
2214 using pressure =
decltype(
N/
m/
m);
2223 using dyndim = basic_dyndim<
double>;
2525 return double(v)*
ft;
2534 return double(v)*
kft;
2543 return double(v)*
in;
2552 return double(v)*
yd;
2561 return double(v)*
mi;
2579 return double(v)*
mN;
2588 return double(v)*
muN;
2597 return double(v)*
kN;
2606 return double(v)*
MN;
2615 return double(v)*
dyn;
2633 return double(v)*
mJ;
2642 return double(v)*
muJ;
2651 return double(v)*
kJ;
2660 return double(v)*
MJ;
2669 return double(v)*
GJ;
2678 return double(v)*
erg;
2696 return double(v)*
mW;
2705 return double(v)*
muW;
2714 return double(v)*
kW;
2723 return double(v)*
MW;
2732 return double(v)*
GW;
2750 return double(v)*
mA;
2759 return double(v)*
muA;
2762 using speed =
decltype(
m/
s);
2763 using acceleration =
decltype(
m/
s/
s);
2764 using momentum =
decltype(
g*
m/
s);
2765 using force =
decltype(
N/1);
2766 using current =
decltype(
C/
s);
2767 using energy =
decltype(
J/1);
2768 using power =
decltype(
W/1);
2769 using area =
decltype(
m*
m);
2770 using volume =
decltype(
m*
m*
m);
2771 using pressure =
decltype(
N/
m/
m);
2780 using dyndim = basic_dyndim<
long double>;
2789 constexpr auto m =
impl::m<
long double>;
2873 constexpr auto g =
impl::g<
long double>;
2939 constexpr auto s =
impl::s<
long double>;
2996 constexpr auto C =
impl::C<
long double>;
3044 constexpr auto K =
impl::K<
long double>;
3122 constexpr auto N =
impl::N<
long double>;
3176 constexpr auto J =
impl::J<
long double>;
3239 constexpr auto W =
impl::W<
long double>;
3293 constexpr auto A =
impl::A<
long double>;
3319 using speed =
decltype(
m/
s);
3320 using acceleration =
decltype(
m/
s/
s);
3321 using momentum =
decltype(
g*
m/
s);
3322 using force =
decltype(
N/1);
3323 using current =
decltype(
C/
s);
3324 using energy =
decltype(
J/1);
3325 using power =
decltype(
W/1);
3326 using area =
decltype(
m*
m);
3327 using volume =
decltype(
m*
m*
m);
3328 using pressure =
decltype(
N/
m/
m);
static constexpr long double const sf
Scale factor.
constexpr auto operator""_nC(long double v)
Interpret a number, suffixed with '_nC', as a (literal) number of nanocoulombs.
constexpr meganewtons< T > MN(T(1))
Template-variable for symbol for meganewtons.
constexpr auto operator""_GW(long double v)
Interpret a number, suffixed with '_GW', as a (literal) number of gigawatts.
constexpr microwatts(T v)
Initialize from number of microwatts.
constexpr auto operator""_kN(long double v)
Interpret a number, suffixed with '_kN', as a (literal) number of kilonewtons.
constexpr millijoules< T > mJ(T(1))
Template-variable for symbol for millijoules.
constexpr millimeters(T v)
Initialize from number of millimeters.
constexpr auto mK
Constant-expression symbol for mK.
static constexpr dim d()
Exponent for each unit in dimensioned quantity.
static constexpr long double const sf
Scale factor.
constexpr auto operator""_Mm(long double v)
Interpret a number, suffixed with '_Mm', as a (literal) number of megameters.
constexpr auto MW
Constant-expression symbol for MW.
constexpr gigajoules< T > GJ(T(1))
Template-variable for symbol for gigajoules.
Template used to construct a number of nanograms.
constexpr auto mug
Constant-expression symbol for mug.
constexpr auto pC
Constant-expression symbol for pC.
constexpr auto inches(T v)
Produce dimensioned quantity from number of inches.
constexpr auto ng
Constant-expression symbol for ng.
constexpr auto operator""_muW(long double v)
Interpret a number, suffixed with '_muW', as a (literal) number of microwatts.
constexpr auto GW
Constant-expression symbol for GW.
constexpr auto in
Constant-expression symbol for in.
constexpr megawatts< T > MW(T(1))
Template-variable for symbol for megawatts.
constexpr auto J
Constant-expression symbol for J.
constexpr auto m
Constant-expression symbol for m.
constexpr auto megajoules(T v)
Produce dimensioned quantity from number of megajoules.
constexpr auto operator""_dyn(long double v)
Interpret a number, suffixed with '_dyn', as a (literal) number of dynes.
constexpr nanocoulombs(T v)
Initialize from number of nanocoulombs.
static constexpr long double const sf
Scale factor.
constexpr auto operator""_m(long double v)
Interpret a number, suffixed with '_m', as a (literal) number of meters.
Template used to construct a number of picometers.
constexpr milliamperes(T v)
Initialize from number of milliamperes.
static constexpr long double const sf
Scale factor.
constexpr gigajoules(T v)
Initialize from number of gigajoules.
Template used to construct a number of nanokelvins.
Template used to construct a number of kilonewtons.
constexpr auto operator""_muA(long double v)
Interpret a number, suffixed with '_muA', as a (literal) number of microamperes.
constexpr micrometers(T v)
Initialize from number of micrometers.
constexpr word encode() const
Encode data for this dim into a word.
constexpr auto operator""_mi(long double v)
Interpret a number, suffixed with '_mi', as a (literal) number of miles.
constexpr auto MN
Constant-expression symbol for MN.
constexpr auto operator""_nK(long double v)
Interpret a number, suffixed with '_nK', as a (literal) number of nanokelvins.
constexpr auto mi
Constant-expression symbol for mi.
constexpr auto operator""_g(long double v)
Interpret a number, suffixed with '_g', as a (literal) number of grams.
constexpr auto nK
Constant-expression symbol for nK.
constexpr auto ms
Constant-expression symbol for ms.
constexpr auto mg
Constant-expression symbol for mg.
constexpr picoseconds< T > ps(T(1))
Template-variable for symbol for picoseconds.
static constexpr long double const sf
Scale factor.
constexpr auto micrometers(T v)
Produce dimensioned quantity from number of micrometers.
constexpr milligrams(T v)
Initialize from number of milligrams.
constexpr auto microamperes(T v)
Produce dimensioned quantity from number of microamperes.
constexpr auto operator""_yd(long double v)
Interpret a number, suffixed with '_yd', as a (literal) number of yards.
constexpr auto operator""_C(long double v)
Interpret a number, suffixed with '_C', as a (literal) number of coulombs.
constexpr auto operator""_kft(long double v)
Interpret a number, suffixed with '_kft', as a (literal) number of kilofeet.
constexpr femtometers< T > fm(T(1))
Template-variable for symbol for femtometers.
constexpr auto mW
Constant-expression symbol for mW.
static constexpr long double const sf
Scale factor.
constexpr auto milliseconds(T v)
Produce dimensioned quantity from number of milliseconds.
static constexpr long double const sf
Scale factor.
constexpr auto picoseconds(T v)
Produce dimensioned quantity from number of picoseconds.
constexpr auto operator""_mm(long double v)
Interpret a number, suffixed with '_mm', as a (literal) number of millimeters.
constexpr microwatts< T > muW(T(1))
Template-variable for symbol for microwatts.
constexpr auto mus
Constant-expression symbol for mus.
constexpr auto fm
Constant-expression symbol for fm.
constexpr auto N
Constant-expression symbol for N.
constexpr auto dyn
Constant-expression symbol for dyn.
constexpr auto milliamperes(T v)
Produce dimensioned quantity from number of milliamperes.
constexpr microkelvins(T v)
Initialize from number of microkelvins.
constexpr auto yd
Constant-expression symbol for yd.
constexpr auto kW
Constant-expression symbol for kW.
Template used to construct a number of newtons.
constexpr auto ps
Constant-expression symbol for ps.
constexpr picograms< T > pg(T(1))
Template-variable for symbol for picograms.
constexpr auto mi
Constant-expression symbol for mi.
constexpr auto fs
Constant-expression symbol for fs.
constexpr auto nC
Constant-expression symbol for nC.
constexpr auto microjoules(T v)
Produce dimensioned quantity from number of microjoules.
static constexpr long double const sf
Scale factor.
constexpr micrograms< T > mug(T(1))
Template-variable for symbol for micrograms.
constexpr auto MW
Constant-expression symbol for MW.
constexpr auto operator""_muJ(long double v)
Interpret a number, suffixed with '_muJ', as a (literal) number of microjoules.
constexpr miles(T v)
Initialize from number of miles.
constexpr newtons(T v)
Initialize from number of newtons.
constexpr auto operator""_GJ(long double v)
Interpret a number, suffixed with '_GJ', as a (literal) number of gigajoules.
Template used to construct a number of nanocoulombs.
constexpr auto kilograms(T v)
Produce dimensioned quantity from number of kilograms.
constexpr auto operator""_MN(long double v)
Interpret a number, suffixed with '_MN', as a (literal) number of meganewtons.
constexpr auto mg
Constant-expression symbol for mg.
constexpr auto operator""_nC(long double v)
Interpret a number, suffixed with '_nC', as a (literal) number of nanocoulombs.
constexpr auto operator""_muN(long double v)
Interpret a number, suffixed with '_muN', as a (literal) number of micronewtons.
Template used to construct a number of joules.
constexpr auto operator""_pm(long double v)
Interpret a number, suffixed with '_pm', as a (literal) number of picometers.
constexpr auto operator""_fs(long double v)
Interpret a number, suffixed with '_fs', as a (literal) number of femtoseconds.
constexpr auto mug
Constant-expression symbol for mug.
constexpr auto muN
Constant-expression symbol for muN.
constexpr auto pg
Constant-expression symbol for pg.
constexpr auto yards(T v)
Produce dimensioned quantity from number of yards.
constexpr auto operator""_muW(long double v)
Interpret a number, suffixed with '_muW', as a (literal) number of microwatts.
constexpr auto operator""_mK(long double v)
Interpret a number, suffixed with '_mK', as a (literal) number of millikelvins.
Template used to construct a number of micrometers.
constexpr auto operator""_kW(long double v)
Interpret a number, suffixed with '_kW', as a (literal) number of kilowatts.
Template used to construct a number of watts.
constexpr auto operator""_ns(long double v)
Interpret a number, suffixed with '_ns', as a (literal) number of nanoseconds.
constexpr auto operator""_MW(long double v)
Interpret a number, suffixed with '_MW', as a (literal) number of megawatts.
constexpr auto operator""_kJ(long double v)
Interpret a number, suffixed with '_kJ', as a (literal) number of kilojoules.
constexpr auto mC
Constant-expression symbol for mC.
constexpr dynes(T v)
Initialize from number of dynes.
Template used to construct a number of milliamperes.
constexpr auto nanometers(T v)
Produce dimensioned quantity from number of nanometers.
constexpr auto millicoulombs(T v)
Produce dimensioned quantity from number of millicoulombs.
constexpr auto operator""_kW(long double v)
Interpret a number, suffixed with '_kW', as a (literal) number of kilowatts.
constexpr auto operator""_Mg(long double v)
Interpret a number, suffixed with '_Mg', as a (literal) number of megagrams.
constexpr auto muJ
Constant-expression symbol for muJ.
constexpr auto microwatts(T v)
Produce dimensioned quantity from number of microwatts.
constexpr auto muC
Constant-expression symbol for muC.
constexpr auto operator""_MN(long double v)
Interpret a number, suffixed with '_MN', as a (literal) number of meganewtons.
constexpr auto mi
Constant-expression symbol for mi.
constexpr auto miles(T v)
Produce dimensioned quantity from number of miles.
constexpr auto pm
Constant-expression symbol for pm.
constexpr meters< T > m(T(1))
Template-variable for symbol for meters.
constexpr auto operator""_ns(long double v)
Interpret a number, suffixed with '_ns', as a (literal) number of nanoseconds.
Template used to construct a number of dynes.
constexpr auto operator""_muK(long double v)
Interpret a number, suffixed with '_muK', as a (literal) number of microkelvins.
constexpr auto operator""_mC(long double v)
Interpret a number, suffixed with '_mC', as a (literal) number of millicoulombs.
Template used to construct a number of milliseconds.
constexpr auto W
Constant-expression symbol for W.
Template used to construct a number of kilofeet.
constexpr nanometers< T > nm(T(1))
Template-variable for symbol for nanometers.
constexpr auto muA
Constant-expression symbol for muA.
constexpr auto operator""_mm(long double v)
Interpret a number, suffixed with '_mm', as a (literal) number of millimeters.
constexpr auto mJ
Constant-expression symbol for mJ.
constexpr auto operator""_mN(long double v)
Interpret a number, suffixed with '_mN', as a (literal) number of millinewtons.
static constexpr long double const sf
Scale factor.
constexpr auto nC
Constant-expression symbol for nC.
constexpr centimeters< T > cm(T(1))
Template-variable for symbol for centimeters.
constexpr yards(T v)
Initialize from number of yards.
static constexpr long double const sf
Scale factor.
constexpr picocoulombs(T v)
Initialize from number of picocoulombs.
constexpr auto mW
Constant-expression symbol for mW.
constexpr auto cm
Constant-expression symbol for cm.
constexpr auto operator""_dyn(long double v)
Interpret a number, suffixed with '_dyn', as a (literal) number of dynes.
constexpr auto kN
Constant-expression symbol for kN.
static constexpr long double const sf
Scale factor.
constexpr auto kJ
Constant-expression symbol for kJ.
Template used to construct a number of microwatts.
constexpr auto amperes(T v)
Produce dimensioned quantity from number of amperes.
constexpr auto operator""_fm(long double v)
Interpret a number, suffixed with '_fm', as a (literal) number of femtometers.
constexpr auto operator""_muA(long double v)
Interpret a number, suffixed with '_muA', as a (literal) number of microamperes.
constexpr auto MN
Constant-expression symbol for MN.
Template used to construct a number of gigajoules.
constexpr auto operator""_K(long double v)
Interpret a number, suffixed with '_K', as a (literal) number of kelvins.
constexpr kilometers(T v)
Initialize from number of kilometers.
constexpr basic_dim operator+(basic_dim const &a) const
Add corresponding exponents.
Template used to construct a number of grams.
constexpr auto mC
Constant-expression symbol for mC.
static constexpr long double const sf
Scale factor.
constexpr auto operator""_km(long double v)
Interpret a number, suffixed with '_km', as a (literal) number of kilometers.
constexpr auto operator""_mJ(long double v)
Interpret a number, suffixed with '_mJ', as a (literal) number of millijoules.
constexpr auto operator""_kg(long double v)
Interpret a number, suffixed with '_kg', as a (literal) number of kilograms.
constexpr auto erg
Constant-expression symbol for erg.
constexpr auto operator""_ps(long double v)
Interpret a number, suffixed with '_ps', as a (literal) number of picoseconds.
static constexpr long double const sf
Scale factor.
static constexpr long double const sf
Scale factor.
constexpr feet(T v)
Initialize from number of feet.
constexpr auto operator""_pC(long double v)
Interpret a number, suffixed with '_pC', as a (literal) number of picocoulombs.
constexpr coulombs< T > C(T(1))
Template-variable for symbol for coulombs.
constexpr auto operator""_ps(long double v)
Interpret a number, suffixed with '_ps', as a (literal) number of picoseconds.
constexpr picograms(T v)
Initialize from number of picograms.
constexpr miles< T > mi(T(1))
Template-variable for symbol for miles.
constexpr auto millijoules(T v)
Produce dimensioned quantity from number of millijoules.
constexpr auto kilonewtons(T v)
Produce dimensioned quantity from number of kilonewtons.
constexpr auto kW
Constant-expression symbol for kW.
constexpr auto in
Constant-expression symbol for in.
constexpr auto Mg
Constant-expression symbol for Mg.
constexpr auto ft
Constant-expression symbol for ft.
constexpr auto kilometers(T v)
Produce dimensioned quantity from number of kilometers.
constexpr seconds< T > s(T(1))
Template-variable for symbol for seconds.
constexpr auto kilowatts(T v)
Produce dimensioned quantity from number of kilowatts.
constexpr auto operator""_mK(long double v)
Interpret a number, suffixed with '_mK', as a (literal) number of millikelvins.
constexpr auto operator""_s(long double v)
Interpret a number, suffixed with '_s', as a (literal) number of seconds.
constexpr auto operator""_muC(long double v)
Interpret a number, suffixed with '_muC', as a (literal) number of microcoulombs. ...
constexpr auto A
Constant-expression symbol for A.
constexpr auto operator""_muK(long double v)
Interpret a number, suffixed with '_muK', as a (literal) number of microkelvins.
constexpr auto grams(T v)
Produce dimensioned quantity from number of grams.
Template used to construct a number of kilojoules.
constexpr auto megawatts(T v)
Produce dimensioned quantity from number of megawatts.
constexpr auto N
Constant-expression symbol for N.
Single-precision dimensions and units.
constexpr auto femtometers(T v)
Produce dimensioned quantity from number of femtometers.
constexpr auto operator""_Mg(long double v)
Interpret a number, suffixed with '_Mg', as a (literal) number of megagrams.
constexpr auto operator""_J(long double v)
Interpret a number, suffixed with '_J', as a (literal) number of joules.
constexpr kelvins< T > K(T(1))
Template-variable for symbol for kelvins.
constexpr auto erg
Constant-expression symbol for erg.
constexpr auto picometers(T v)
Produce dimensioned quantity from number of picometers.
constexpr auto operator""_nC(long double v)
Interpret a number, suffixed with '_nC', as a (literal) number of nanocoulombs.
static constexpr long double const sf
Scale factor.
constexpr kilonewtons(T v)
Initialize from number of kilonewtons.
constexpr auto muK
Constant-expression symbol for muK.
static constexpr long double const sf
Scale factor.
constexpr auto nK
Constant-expression symbol for nK.
constexpr auto kg
Constant-expression symbol for kg.
static constexpr long double const sf
Scale factor.
static constexpr long double const sf
Scale factor.
static constexpr long double const sf
Scale factor.
constexpr auto Mm
Constant-expression symbol for Mm.
Template used to construct a number of picocoulombs.
constexpr auto operator""_in(long double v)
Interpret a number, suffixed with '_in', as a (literal) number of inches.
Template used to construct a number of millicoulombs.
constexpr microamperes< T > muA(T(1))
Template-variable for symbol for microamperes.
static constexpr long double const sf
Scale factor.
constexpr auto operator""_mK(long double v)
Interpret a number, suffixed with '_mK', as a (literal) number of millikelvins.
constexpr auto ns
Constant-expression symbol for ns.
constexpr auto muJ
Constant-expression symbol for muJ.
constexpr auto operator""_erg(long double v)
Interpret a number, suffixed with '_erg', as a (literal) number of ergs.
constexpr auto pm
Constant-expression symbol for pm.
constexpr auto g
Constant-expression symbol for g.
constexpr auto muK
Constant-expression symbol for muK.
constexpr auto operator""_ps(long double v)
Interpret a number, suffixed with '_ps', as a (literal) number of picoseconds.
Template used to construct a number of milligrams.
Template used to construct a number of coulombs.
Template used to construct a number of kilometers.
Template used to construct a number of yards.
constexpr auto nm
Constant-expression symbol for nm.
static constexpr long double const sf
Scale factor.
constexpr auto operator""_mus(long double v)
Interpret a number, suffixed with '_mus', as a (literal) number of microseconds.
constexpr auto operator""_ft(long double v)
Interpret a number, suffixed with '_ft', as a (literal) number of feet.
constexpr meters(T v)
Initialize from number of meters.
constexpr feet< T > ft(T(1))
Template-variable for symbol for feet.
constexpr auto operator""_pC(long double v)
Interpret a number, suffixed with '_pC', as a (literal) number of picocoulombs.
constexpr auto nanograms(T v)
Produce dimensioned quantity from number of nanograms.
constexpr auto operator""_K(long double v)
Interpret a number, suffixed with '_K', as a (literal) number of kelvins.
constexpr auto m
Constant-expression symbol for m.
constexpr auto mA
Constant-expression symbol for mA.
constexpr nanograms< T > ng(T(1))
Template-variable for symbol for nanograms.
constexpr auto operator""_GW(long double v)
Interpret a number, suffixed with '_GW', as a (literal) number of gigawatts.
constexpr grams(T v)
Initialize from number of grams.
static constexpr long double const sf
Scale factor.
constexpr dim time_dim(0, 0, 1, 0, 0)
Exponents for time.
constexpr microjoules< T > muJ(T(1))
Template-variable for symbol for microjoules.
constexpr auto operator""_mg(long double v)
Interpret a number, suffixed with '_mg', as a (literal) number of milligrams.
constexpr auto operator""_cm(long double v)
Interpret a number, suffixed with '_cm', as a (literal) number of centimeters.
Template used to construct a number of miles.
constexpr auto operator""_mN(long double v)
Interpret a number, suffixed with '_mN', as a (literal) number of millinewtons.
Template used to construct a number of picoseconds.
constexpr auto operator""_muC(long double v)
Interpret a number, suffixed with '_muC', as a (literal) number of microcoulombs. ...
constexpr auto mJ
Constant-expression symbol for mJ.
constexpr auto milligrams(T v)
Produce dimensioned quantity from number of milligrams.
constexpr auto seconds(T v)
Produce dimensioned quantity from number of seconds.
static constexpr long double const sf
Scale factor.
constexpr auto mN
Constant-expression symbol for mN.
constexpr auto operator""_mW(long double v)
Interpret a number, suffixed with '_mW', as a (literal) number of milliwatts.
constexpr auto yd
Constant-expression symbol for yd.
constexpr auto operator""_muW(long double v)
Interpret a number, suffixed with '_muW', as a (literal) number of microwatts.
constexpr auto pm
Constant-expression symbol for pm.
constexpr auto operator""_kg(long double v)
Interpret a number, suffixed with '_kg', as a (literal) number of kilograms.
constexpr auto kft
Constant-expression symbol for kft.
constexpr auto ns
Constant-expression symbol for ns.
constexpr auto feet(T v)
Produce dimensioned quantity from number of feet.
constexpr auto operator""_cm(long double v)
Interpret a number, suffixed with '_cm', as a (literal) number of centimeters.
constexpr auto A
Constant-expression symbol for A.
constexpr auto operator""_W(long double v)
Interpret a number, suffixed with '_W', as a (literal) number of watts.
constexpr auto micrograms(T v)
Produce dimensioned quantity from number of micrograms.
constexpr picometers< T > pm(T(1))
Template-variable for symbol for picometers.
constexpr auto milliwatts(T v)
Produce dimensioned quantity from number of milliwatts.
constexpr auto operator""_kJ(long double v)
Interpret a number, suffixed with '_kJ', as a (literal) number of kilojoules.
constexpr auto MJ
Constant-expression symbol for MJ.
constexpr auto K
Constant-expression symbol for K.
constexpr auto operator""_mg(long double v)
Interpret a number, suffixed with '_mg', as a (literal) number of milligrams.
constexpr auto pC
Constant-expression symbol for pC.
constexpr auto MW
Constant-expression symbol for MW.
constexpr auto microkelvins(T v)
Produce dimensioned quantity from number of microkelvins.
constexpr kilowatts< T > kW(T(1))
Template-variable for symbol for kilowatts.
constexpr auto ms
Constant-expression symbol for ms.
constexpr basic_dim operator-(basic_dim const &s) const
Subtract corresponding exponents.
constexpr gigawatts< T > GW(T(1))
Template-variable for symbol for gigawatts.
constexpr auto ng
Constant-expression symbol for ng.
constexpr grams< T > g(T(1))
Template-variable for symbol for grams.
constexpr auto mK
Constant-expression symbol for mK.
constexpr auto operator""_pC(long double v)
Interpret a number, suffixed with '_pC', as a (literal) number of picocoulombs.
static constexpr long double const sf
Scale factor.
constexpr auto Mm
Constant-expression symbol for Mm.
Template used to construct a number of microamperes.
Template used to construct a number of kelvins.
constexpr auto kilojoules(T v)
Produce dimensioned quantity from number of kilojoules.
constexpr auto Mg
Constant-expression symbol for Mg.
constexpr auto operator""_nK(long double v)
Interpret a number, suffixed with '_nK', as a (literal) number of nanokelvins.
constexpr auto operator""_nm(long double v)
Interpret a number, suffixed with '_nm', as a (literal) number of nanometers.
constexpr auto operator""_ng(long double v)
Interpret a number, suffixed with '_ng', as a (literal) number of nanograms.
constexpr auto operator""_mg(long double v)
Interpret a number, suffixed with '_mg', as a (literal) number of milligrams.
constexpr millijoules(T v)
Initialize from number of millijoules.
constexpr auto GJ
Constant-expression symbol for GJ.
constexpr auto pg
Constant-expression symbol for pg.
constexpr auto ft
Constant-expression symbol for ft.
constexpr inches(T v)
Initialize from number of inches.
constexpr microkelvins< T > muK(T(1))
Template-variable for symbol for microkelvins.
constexpr auto nanocoulombs(T v)
Produce dimensioned quantity from number of nanocoulombs.
constexpr auto yd
Constant-expression symbol for yd.
constexpr kilofeet(T v)
Initialize from number of kilofeet.
constexpr dim mass_dim(0, 1, 0, 0, 0)
Exponents for mass.
constexpr auto nm
Constant-expression symbol for nm.
Template used to construct a number of inches.
constexpr micronewtons(T v)
Initialize from number of micronewtons.
constexpr auto mJ
Constant-expression symbol for mJ.
Template structs that user would use only to extend the library.
Template used to construct a number of microjoules.
constexpr auto A
Constant-expression symbol for A.
constexpr auto operator""_GJ(long double v)
Interpret a number, suffixed with '_GJ', as a (literal) number of gigajoules.
constexpr auto muC
Constant-expression symbol for muC.
constexpr auto ps
Constant-expression symbol for ps.
constexpr microamperes(T v)
Initialize from number of microamperes.
constexpr auto Mg
Constant-expression symbol for Mg.
constexpr auto operator""_fm(long double v)
Interpret a number, suffixed with '_fm', as a (literal) number of femtometers.
constexpr kilometers< T > km(T(1))
Template-variable for symbol for kilometers.
constexpr auto operator""_mA(long double v)
Interpret a number, suffixed with '_mA', as a (literal) number of milliamperes.
Template used to construct a number of millimeters.
constexpr auto operator""_mm(long double v)
Interpret a number, suffixed with '_mm', as a (literal) number of millimeters.
constexpr joules< T > J(T(1))
Template-variable for symbol for joules.
constexpr auto N
Constant-expression symbol for N.
constexpr auto operator""_mA(long double v)
Interpret a number, suffixed with '_mA', as a (literal) number of milliamperes.
constexpr kilofeet< T > kft(T(1))
Template-variable for symbol for kilofeet.
static constexpr long double const sf
Scale factor.
constexpr ergs(T v)
Initialize from number of ergs.
constexpr auto millikelvins(T v)
Produce dimensioned quantity from number of millikelvins.
constexpr auto s
Constant-expression symbol for s.
constexpr meganewtons(T v)
Initialize from number of meganewtons.
static constexpr long double const sf
Scale factor.
constexpr auto K
Constant-expression symbol for K.
constexpr auto operator""_GJ(long double v)
Interpret a number, suffixed with '_GJ', as a (literal) number of gigajoules.
constexpr auto mm
Constant-expression symbol for mm.
constexpr auto operator""_pg(long double v)
Interpret a number, suffixed with '_pg', as a (literal) number of picograms.
constexpr auto GW
Constant-expression symbol for GW.
Double-precision dimensions and units.
constexpr femtoseconds< T > fs(T(1))
Template-variable for symbol for femtoseconds.
constexpr auto megameters(T v)
Produce dimensioned quantity from number of megameters.
constexpr auto operator""_in(long double v)
Interpret a number, suffixed with '_in', as a (literal) number of inches.
static constexpr long double const sf
Scale factor.
constexpr auto s
Constant-expression symbol for s.
constexpr auto millinewtons(T v)
Produce dimensioned quantity from number of millinewtons.
static constexpr long double const sf
Scale factor.
static constexpr long double const sf
Scale factor.
constexpr auto watts(T v)
Produce dimensioned quantity from number of watts.
constexpr auto operator""_mug(long double v)
Interpret a number, suffixed with '_mug', as a (literal) number of micrograms.
constexpr auto fm
Constant-expression symbol for fm.
constexpr auto operator""_muC(long double v)
Interpret a number, suffixed with '_muC', as a (literal) number of microcoulombs. ...
constexpr auto operator""_erg(long double v)
Interpret a number, suffixed with '_erg', as a (literal) number of ergs.
constexpr auto operator""_ft(long double v)
Interpret a number, suffixed with '_ft', as a (literal) number of feet.
constexpr picocoulombs< T > pC(T(1))
Template-variable for symbol for picocoulombs.
constexpr ergs< T > erg(T(1))
Template-variable for symbol for ergs.
constexpr auto mum
Constant-expression symbol for mum.
constexpr amperes(T v)
Initialize from number of amperes.
constexpr auto fs
Constant-expression symbol for fs.
Template used to construct a number of millijoules.
constexpr auto J
Constant-expression symbol for J.
constexpr amperes< T > A(T(1))
Template-variable for symbol for amperes.
Template used to construct a number of meganewtons.
constexpr auto operator""_nK(long double v)
Interpret a number, suffixed with '_nK', as a (literal) number of nanokelvins.
constexpr auto kJ
Constant-expression symbol for kJ.
constexpr megajoules< T > MJ(T(1))
Template-variable for symbol for megajoules.
constexpr millikelvins(T v)
Initialize from number of millikelvins.
constexpr auto meters(T v)
Produce dimensioned quantity from number of meters.
constexpr nanograms(T v)
Initialize from number of nanograms.
Template used to construct a number of kilograms.
constexpr watts< T > W(T(1))
Template-variable for symbol for watts.
constexpr auto operator""_cm(long double v)
Interpret a number, suffixed with '_cm', as a (literal) number of centimeters.
constexpr nanoseconds< T > ns(T(1))
Template-variable for symbol for nanoseconds.
constexpr auto megagrams(T v)
Produce dimensioned quantity from number of megagrams.
constexpr auto operator""_fs(long double v)
Interpret a number, suffixed with '_fs', as a (literal) number of femtoseconds.
constexpr auto ns
Constant-expression symbol for ns.
constexpr auto operator""_muK(long double v)
Interpret a number, suffixed with '_muK', as a (literal) number of microkelvins.
constexpr auto operator""_mC(long double v)
Interpret a number, suffixed with '_mC', as a (literal) number of millicoulombs.
constexpr auto operator""_pg(long double v)
Interpret a number, suffixed with '_pg', as a (literal) number of picograms.
constexpr auto cm
Constant-expression symbol for cm.
constexpr auto operator""_muJ(long double v)
Interpret a number, suffixed with '_muJ', as a (literal) number of microjoules.
constexpr auto microseconds(T v)
Produce dimensioned quantity from number of microseconds.
constexpr auto muJ
Constant-expression symbol for muJ.
constexpr auto operator""_kft(long double v)
Interpret a number, suffixed with '_kft', as a (literal) number of kilofeet.
constexpr auto operator""_nm(long double v)
Interpret a number, suffixed with '_nm', as a (literal) number of nanometers.
Template used to construct a number of meters.
constexpr auto nanoseconds(T v)
Produce dimensioned quantity from number of nanoseconds.
constexpr auto muA
Constant-expression symbol for muA.
constexpr auto mW
Constant-expression symbol for mW.
constexpr inches< T > in(T(1))
Template-variable for symbol for inches.
constexpr auto mA
Constant-expression symbol for mA.
static constexpr long double const sf
Scale factor.
constexpr auto operator""_g(long double v)
Interpret a number, suffixed with '_g', as a (literal) number of grams.
constexpr auto operator""_MW(long double v)
Interpret a number, suffixed with '_MW', as a (literal) number of megawatts.
constexpr auto millimeters(T v)
Produce dimensioned quantity from number of millimeters.
Template used to construct a number of microcoulombs.
constexpr picoseconds(T v)
Initialize from number of picoseconds.
constexpr milliseconds(T v)
Initialize from number of milliseconds.
constexpr auto dyn
Constant-expression symbol for dyn.
constexpr auto operator""_A(long double v)
Interpret a number, suffixed with '_A', as a (literal) number of amperes.
constexpr auto ergs(T v)
Produce dimensioned quantity from number of ergs.
constexpr microcoulombs< T > muC(T(1))
Template-variable for symbol for microcoulombs.
constexpr auto operator""_A(long double v)
Interpret a number, suffixed with '_A', as a (literal) number of amperes.
constexpr auto ft
Constant-expression symbol for ft.
static constexpr long double const sf
Scale factor.
constexpr auto muN
Constant-expression symbol for muN.
constexpr auto mN
Constant-expression symbol for mN.
constexpr auto km
Constant-expression symbol for km.
constexpr auto GJ
Constant-expression symbol for GJ.
constexpr microcoulombs(T v)
Initialize from number of microcoulombs.
constexpr auto mum
Constant-expression symbol for mum.
constexpr auto operator""_mJ(long double v)
Interpret a number, suffixed with '_mJ', as a (literal) number of millijoules.
Extended-precision dimensions and units.
constexpr microjoules(T v)
Initialize from number of microjoules.
constexpr auto fm
Constant-expression symbol for fm.
constexpr auto operator""_GW(long double v)
Interpret a number, suffixed with '_GW', as a (literal) number of gigawatts.
constexpr auto operator""_N(long double v)
Interpret a number, suffixed with '_N', as a (literal) number of newtons.
constexpr auto picocoulombs(T v)
Produce dimensioned quantity from number of picocoulombs.
constexpr auto mN
Constant-expression symbol for mN.
constexpr dim temperature_dim(0, 0, 0, 0, 1)
Exponents for temperature.
constexpr auto operator""_ft(long double v)
Interpret a number, suffixed with '_ft', as a (literal) number of feet.
constexpr auto operator""_m(long double v)
Interpret a number, suffixed with '_m', as a (literal) number of meters.
constexpr megawatts(T v)
Initialize from number of megawatts.
Template used to construct a number of amperes.
constexpr kelvins(T v)
Initialize from number of kelvins.
constexpr auto mum
Constant-expression symbol for mum.
constexpr auto g
Constant-expression symbol for g.
constexpr auto kg
Constant-expression symbol for kg.
constexpr auto operator""_pm(long double v)
Interpret a number, suffixed with '_pm', as a (literal) number of picometers.
constexpr auto operator""_A(long double v)
Interpret a number, suffixed with '_A', as a (literal) number of amperes.
constexpr auto km
Constant-expression symbol for km.
constexpr auto operator""_s(long double v)
Interpret a number, suffixed with '_s', as a (literal) number of seconds.
constexpr auto operator""_kW(long double v)
Interpret a number, suffixed with '_kW', as a (literal) number of kilowatts.
static constexpr long double const sf
Scale factor.
constexpr auto operator""_ms(long double v)
Interpret a number, suffixed with '_ms', as a (literal) number of milliseconds.
constexpr auto muW
Constant-expression symbol for muW.
constexpr microseconds(T v)
Initialize from number of microseconds.
constexpr auto operator""_K(long double v)
Interpret a number, suffixed with '_K', as a (literal) number of kelvins.
constexpr auto operator""_C(long double v)
Interpret a number, suffixed with '_C', as a (literal) number of coulombs.
static constexpr long double const sf
Scale factor.
constexpr microseconds< T > mus(T(1))
Template-variable for symbol for microseconds.
constexpr micrometers< T > mum(T(1))
Template-variable for symbol for micrometers.
constexpr auto operator""_yd(long double v)
Interpret a number, suffixed with '_yd', as a (literal) number of yards.
constexpr auto dyn
Constant-expression symbol for dyn.
constexpr auto Mm
Constant-expression symbol for Mm.
constexpr auto pg
Constant-expression symbol for pg.
Template used to construct a number of microseconds.
constexpr nanokelvins(T v)
Initialize from number of nanokelvins.
constexpr auto operator""_J(long double v)
Interpret a number, suffixed with '_J', as a (literal) number of joules.
static constexpr long double const sf
Scale factor.
constexpr auto operator""_mum(long double v)
Interpret a number, suffixed with '_mum', as a (literal) number of micrometers.
constexpr auto operator""_mi(long double v)
Interpret a number, suffixed with '_mi', as a (literal) number of miles.
constexpr auto operator""_W(long double v)
Interpret a number, suffixed with '_W', as a (literal) number of watts.
constexpr nanocoulombs< T > nC(T(1))
Template-variable for symbol for nanocoulombs.
Template used to construct a number of microkelvins.
constexpr auto g
Constant-expression symbol for g.
constexpr auto mug
Constant-expression symbol for mug.
constexpr auto operator""_kg(long double v)
Interpret a number, suffixed with '_kg', as a (literal) number of kilograms.
constexpr auto operator""_MJ(long double v)
Interpret a number, suffixed with '_MJ', as a (literal) number of megajoules.
constexpr auto operator""_mC(long double v)
Interpret a number, suffixed with '_mC', as a (literal) number of millicoulombs.
constexpr auto MJ
Constant-expression symbol for MJ.
constexpr auto kilofeet(T v)
Produce dimensioned quantity from number of kilofeet.
constexpr auto operator""_km(long double v)
Interpret a number, suffixed with '_km', as a (literal) number of kilometers.
constexpr nanoseconds(T v)
Initialize from number of nanoseconds.
constexpr auto cm
Constant-expression symbol for cm.
constexpr auto dynes(T v)
Produce dimensioned quantity from number of dynes.
constexpr auto operator""_mJ(long double v)
Interpret a number, suffixed with '_mJ', as a (literal) number of millijoules.
constexpr dim charge_dim(0, 0, 0, 1, 0)
Exponents for charge.
constexpr auto m
Constant-expression symbol for m.
constexpr auto operator""_fs(long double v)
Interpret a number, suffixed with '_fs', as a (literal) number of femtoseconds.
Template used to construct a number of micronewtons.
constexpr auto operator""_ms(long double v)
Interpret a number, suffixed with '_ms', as a (literal) number of milliseconds.
constexpr auto kft
Constant-expression symbol for kft.
constexpr joules(T v)
Initialize from number of joules.
Template used to construct a number of nanoseconds.
static constexpr long double const sf
Scale factor.
static constexpr long double const sf
Scale factor.
constexpr auto operator""_mug(long double v)
Interpret a number, suffixed with '_mug', as a (literal) number of micrograms.
constexpr auto operator""_mum(long double v)
Interpret a number, suffixed with '_mum', as a (literal) number of micrometers.
constexpr auto mg
Constant-expression symbol for mg.
static constexpr long double const sf
Scale factor.
constexpr newtons< T > N(T(1))
Template-variable for symbol for newtons.
constexpr kilojoules(T v)
Initialize from number of kilojoules.
constexpr auto operator""_N(long double v)
Interpret a number, suffixed with '_N', as a (literal) number of newtons.
constexpr auto operator""_Mg(long double v)
Interpret a number, suffixed with '_Mg', as a (literal) number of megagrams.
Template used to construct a number of megagrams.
constexpr auto K
Constant-expression symbol for K.
Template used to construct a number of micrograms.
constexpr auto mus
Constant-expression symbol for mus.
constexpr auto picograms(T v)
Produce dimensioned quantity from number of picograms.
constexpr auto femtoseconds(T v)
Produce dimensioned quantity from number of femtoseconds.
constexpr auto muW
Constant-expression symbol for muW.
constexpr kilowatts(T v)
Initialize from number of kilowatts.
constexpr millinewtons(T v)
Initialize from number of millinewtons.
constexpr auto operator""_Mm(long double v)
Interpret a number, suffixed with '_Mm', as a (literal) number of megameters.
constexpr auto erg
Constant-expression symbol for erg.
constexpr millimeters< T > mm(T(1))
Template-variable for symbol for millimeters.
constexpr auto GJ
Constant-expression symbol for GJ.
constexpr auto operator""_muA(long double v)
Interpret a number, suffixed with '_muA', as a (literal) number of microamperes.
Template used to construct a number of kilowatts.
constexpr auto operator""_mW(long double v)
Interpret a number, suffixed with '_mW', as a (literal) number of milliwatts.
constexpr auto operator""_pm(long double v)
Interpret a number, suffixed with '_pm', as a (literal) number of picometers.
constexpr auto coulombs(T v)
Produce dimensioned quantity from number of coulombs.
constexpr auto C
Constant-expression symbol for C.
constexpr auto operator""_ng(long double v)
Interpret a number, suffixed with '_ng', as a (literal) number of nanograms.
constexpr auto operator""_MN(long double v)
Interpret a number, suffixed with '_MN', as a (literal) number of meganewtons.
constexpr auto gigawatts(T v)
Produce dimensioned quantity from number of gigawatts.
static constexpr long double const sf
Scale factor.
constexpr auto nanokelvins(T v)
Produce dimensioned quantity from number of nanokelvins.
constexpr auto ms
Constant-expression symbol for ms.
constexpr auto operator""_km(long double v)
Interpret a number, suffixed with '_km', as a (literal) number of kilometers.
constexpr auto operator""_muJ(long double v)
Interpret a number, suffixed with '_muJ', as a (literal) number of microjoules.
Template used to construct a number of nanometers.
constexpr milliwatts< T > mW(T(1))
Template-variable for symbol for milliwatts.
Template used to construct a number of seconds.
constexpr auto operator""_pg(long double v)
Interpret a number, suffixed with '_pg', as a (literal) number of picograms.
constexpr auto operator""_mN(long double v)
Interpret a number, suffixed with '_mN', as a (literal) number of millinewtons.
constexpr kilograms< T > kg(T(1))
Template-variable for symbol for kilograms.
Template used to construct a number of millikelvins.
static constexpr long double const sf
Scale factor.
Template used to construct a number of megawatts.
constexpr auto operator""_ns(long double v)
Interpret a number, suffixed with '_ns', as a (literal) number of nanoseconds.
constexpr auto in
Constant-expression symbol for in.
constexpr milliwatts(T v)
Initialize from number of milliwatts.
constexpr auto mA
Constant-expression symbol for mA.
constexpr auto MJ
Constant-expression symbol for MJ.
constexpr auto GW
Constant-expression symbol for GW.
constexpr auto operator""_muN(long double v)
Interpret a number, suffixed with '_muN', as a (literal) number of micronewtons.
constexpr milliseconds< T > ms(T(1))
Template-variable for symbol for milliseconds.
constexpr seconds(T v)
Initialize from number of seconds.
constexpr auto operator""_m(long double v)
Interpret a number, suffixed with '_m', as a (literal) number of meters.
constexpr auto C
Constant-expression symbol for C.
constexpr auto operator""_kJ(long double v)
Interpret a number, suffixed with '_kJ', as a (literal) number of kilojoules.
constexpr auto nK
Constant-expression symbol for nK.
constexpr nanokelvins< T > nK(T(1))
Template-variable for symbol for nanokelvins.
constexpr watts(T v)
Initialize from number of watts.
static constexpr long double const sf
Scale factor.
Template used to construct a number of millinewtons.
constexpr kilonewtons< T > kN(T(1))
Template-variable for symbol for kilonewtons.
constexpr auto joules(T v)
Produce dimensioned quantity from number of joules.
constexpr yards< T > yd(T(1))
Template-variable for symbol for yards.
constexpr picometers(T v)
Initialize from number of picometers.
constexpr auto operator""_W(long double v)
Interpret a number, suffixed with '_W', as a (literal) number of watts.
constexpr auto operator""_muN(long double v)
Interpret a number, suffixed with '_muN', as a (literal) number of micronewtons.
constexpr auto muC
Constant-expression symbol for muC.
Template used to construct a number of picograms.
constexpr auto mK
Constant-expression symbol for mK.
constexpr auto kft
Constant-expression symbol for kft.
constexpr millicoulombs< T > mC(T(1))
Template-variable for symbol for millicoulombs.
Template used to construct a number of megameters.
Template used to construct a number of milliwatts.
constexpr auto meganewtons(T v)
Produce dimensioned quantity from number of meganewtons.
constexpr auto nm
Constant-expression symbol for nm.
static constexpr long double const sf
Scale factor.
constexpr megagrams(T v)
Initialize from number of megagrams.
constexpr auto operator""_C(long double v)
Interpret a number, suffixed with '_C', as a (literal) number of coulombs.
constexpr auto mC
Constant-expression symbol for mC.
constexpr auto ng
Constant-expression symbol for ng.
constexpr micrograms(T v)
Initialize from number of micrograms.
constexpr millinewtons< T > mN(T(1))
Template-variable for symbol for millinewtons.
constexpr auto operator""_nm(long double v)
Interpret a number, suffixed with '_nm', as a (literal) number of nanometers.
static constexpr long double const sf
Scale factor.
constexpr megameters< T > Mm(T(1))
Template-variable for symbol for megameters.
constexpr auto operator""_mum(long double v)
Interpret a number, suffixed with '_mum', as a (literal) number of micrometers.
Thomas E. Vaughan's public software.
constexpr auto operator""_fm(long double v)
Interpret a number, suffixed with '_fm', as a (literal) number of femtometers.
constexpr auto mm
Constant-expression symbol for mm.
constexpr auto kW
Constant-expression symbol for kW.
static constexpr long double const sf
Scale factor.
constexpr kilojoules< T > kJ(T(1))
Template-variable for symbol for kilojoules.
constexpr auto operator""_dyn(long double v)
Interpret a number, suffixed with '_dyn', as a (literal) number of dynes.
static constexpr long double const sf
Scale factor.
constexpr millicoulombs(T v)
Initialize from number of millicoulombs.
constexpr milligrams< T > mg(T(1))
Template-variable for symbol for milligrams.
constexpr centimeters(T v)
Initialize from number of centimeters.
constexpr auto operator""_MW(long double v)
Interpret a number, suffixed with '_MW', as a (literal) number of megawatts.
static constexpr long double const sf
Scale factor.
constexpr megagrams< T > Mg(T(1))
Template-variable for symbol for megagrams.
constexpr auto fs
Constant-expression symbol for fs.
Template used to construct a number of femtoseconds.
constexpr auto C
Constant-expression symbol for C.
static constexpr long double const sf
Scale factor.
static constexpr long double const sf
Scale factor.
constexpr auto km
Constant-expression symbol for km.
Template used to construct a number of ergs.
constexpr auto operator""_ms(long double v)
Interpret a number, suffixed with '_ms', as a (literal) number of milliseconds.
constexpr auto mm
Constant-expression symbol for mm.
constexpr megajoules(T v)
Initialize from number of megajoules.
constexpr auto operator""_in(long double v)
Interpret a number, suffixed with '_in', as a (literal) number of inches.
Classes and functions supporting a model of physically dimensioned quantities.
constexpr auto kJ
Constant-expression symbol for kJ.
Template used to construct a number of femtometers.
constexpr auto operator""_kN(long double v)
Interpret a number, suffixed with '_kN', as a (literal) number of kilonewtons.
static constexpr long double const sf
Scale factor.
constexpr auto operator""_ng(long double v)
Interpret a number, suffixed with '_ng', as a (literal) number of nanograms.
constexpr auto ps
Constant-expression symbol for ps.
constexpr megameters(T v)
Initialize from number of megameters.
constexpr auto kN
Constant-expression symbol for kN.
constexpr auto J
Constant-expression symbol for J.
constexpr auto operator""_N(long double v)
Interpret a number, suffixed with '_N', as a (literal) number of newtons.
constexpr auto operator""_mW(long double v)
Interpret a number, suffixed with '_mW', as a (literal) number of milliwatts.
constexpr auto MN
Constant-expression symbol for MN.
static constexpr long double const sf
Scale factor.
constexpr micronewtons< T > muN(T(1))
Template-variable for symbol for micronewtons.
constexpr auto operator""_MJ(long double v)
Interpret a number, suffixed with '_MJ', as a (literal) number of megajoules.
constexpr auto gigajoules(T v)
Produce dimensioned quantity from number of gigajoules.
static constexpr long double const sf
Scale factor.
constexpr auto operator""_mug(long double v)
Interpret a number, suffixed with '_mug', as a (literal) number of micrograms.
static constexpr long double const sf
Scale factor.
constexpr auto operator""_erg(long double v)
Interpret a number, suffixed with '_erg', as a (literal) number of ergs.
constexpr kilograms(T v)
Initialize from number of kilograms.
static constexpr long double const sf
Scale factor.
static constexpr long double const sf
Scale factor.
constexpr auto kN
Constant-expression symbol for kN.
constexpr auto operator""_mus(long double v)
Interpret a number, suffixed with '_mus', as a (literal) number of microseconds.
constexpr dim length_dim(1, 0, 0, 0, 0)
Exponents for length.
constexpr coulombs(T v)
Initialize from number of coulombs.
static constexpr long double const sf
Scale factor.
constexpr auto muK
Constant-expression symbol for muK.
constexpr auto newtons(T v)
Produce dimensioned quantity from number of newtons.
constexpr auto operator""_mi(long double v)
Interpret a number, suffixed with '_mi', as a (literal) number of miles.
static constexpr long double const sf
Scale factor.
constexpr femtoseconds(T v)
Initialize from number of femtoseconds.
constexpr auto s
Constant-expression symbol for s.
static constexpr long double const sf
Scale factor.
constexpr auto mus
Constant-expression symbol for mus.
constexpr auto kg
Constant-expression symbol for kg.
constexpr auto pC
Constant-expression symbol for pC.
constexpr auto W
Constant-expression symbol for W.
Template used to construct a number of megajoules.
constexpr auto micronewtons(T v)
Produce dimensioned quantity from number of micronewtons.
constexpr dynes< T > dyn(T(1))
Template-variable for symbol for dynes.
constexpr auto W
Constant-expression symbol for W.
Template used to construct a number of gigawatts.
static constexpr long double const sf
Scale factor.
constexpr auto microcoulombs(T v)
Produce dimensioned quantity from number of microcoulombs.
constexpr auto centimeters(T v)
Produce dimensioned quantity from number of centimeters.
constexpr auto nC
Constant-expression symbol for nC.
constexpr auto muN
Constant-expression symbol for muN.
constexpr auto operator""_mA(long double v)
Interpret a number, suffixed with '_mA', as a (literal) number of milliamperes.
constexpr auto operator""_J(long double v)
Interpret a number, suffixed with '_J', as a (literal) number of joules.
constexpr gigawatts(T v)
Initialize from number of gigawatts.
static constexpr long double const sf
Scale factor.
constexpr auto muW
Constant-expression symbol for muW.
constexpr millikelvins< T > mK(T(1))
Template-variable for symbol for millikelvins.
constexpr nanometers(T v)
Initialize from number of nanometers.
constexpr auto operator""_yd(long double v)
Interpret a number, suffixed with '_yd', as a (literal) number of yards.
constexpr auto operator""_Mm(long double v)
Interpret a number, suffixed with '_Mm', as a (literal) number of megameters.
constexpr auto muA
Constant-expression symbol for muA.
constexpr auto operator""_mus(long double v)
Interpret a number, suffixed with '_mus', as a (literal) number of microseconds.
constexpr auto operator""_s(long double v)
Interpret a number, suffixed with '_s', as a (literal) number of seconds.
constexpr milliamperes< T > mA(T(1))
Template-variable for symbol for milliamperes.
constexpr auto operator""_g(long double v)
Interpret a number, suffixed with '_g', as a (literal) number of grams.
Template used to construct a number of feet.
constexpr auto operator""_kft(long double v)
Interpret a number, suffixed with '_kft', as a (literal) number of kilofeet.
constexpr auto operator""_MJ(long double v)
Interpret a number, suffixed with '_MJ', as a (literal) number of megajoules.
constexpr femtometers(T v)
Initialize from number of femtometers.
Template used to construct a number of centimeters.
constexpr auto kelvins(T v)
Produce dimensioned quantity from number of kelvins.
constexpr auto operator""_kN(long double v)
Interpret a number, suffixed with '_kN', as a (literal) number of kilonewtons.