refactor: Got rid of -Wsign-conversion warnings on UDLs

Refers to #226
This commit is contained in:
Mateusz Pusz
2021-02-17 19:37:20 +01:00
parent 86584dbfe2
commit a7f452cd12
76 changed files with 1115 additions and 1116 deletions

View File

@ -75,8 +75,7 @@ function(set_warnings)
-Woverloaded-virtual # warn if you overload (not override) a virtual function
-Wcast-qual # warn on dropping const or volatile qualifiers
-Wconversion # warn on type conversions that may lose data
# disabled due to the truncating on UDLs
# -Wsign-conversion # warn on sign conversions
-Wsign-conversion # warn on sign conversions
-Wnull-dereference # warn if a null dereference is detected
-Wdouble-promotion # warn if float is implicit promoted to double
-Wformat=2 # warn on security issues around functions that format output (ie printf)

View File

@ -59,11 +59,11 @@ values the library provides :abbr:`UDL (User Defined Literal)` s for each
inline namespace literals {
constexpr auto operator"" _q_km(unsigned long long l) { return length<kilometre, std::int64_t>(l); }
constexpr auto operator"" _q_km(long double l) { return length<kilometre, long double>(l); }
consteval auto operator"" _q_km(unsigned long long l) { return length<kilometre, std::int64_t>(l); }
consteval auto operator"" _q_km(long double l) { return length<kilometre, long double>(l); }
constexpr auto operator"" _q_km_per_h(unsigned long long l) { return speed<kilometre_per_hour, std::int64_t>(l); }
constexpr auto operator"" _q_km_per_h(long double l) { return speed<kilometre_per_hour, long double>(l); }
consteval auto operator"" _q_km_per_h(unsigned long long l) { return speed<kilometre_per_hour, std::int64_t>(l); }
consteval auto operator"" _q_km_per_h(long double l) { return speed<kilometre_per_hour, long double>(l); }
}

View File

@ -35,8 +35,8 @@ alias or an :abbr:`UDL (User Defined Literal)`::
using desks = si::area<desk, std::int64_t>;
// UDLs
constexpr auto operator"" _d(unsigned long long l) { return si::area<desk, std::int64_t>(l); }
constexpr auto operator"" _d(long double l) { return si::area<desk, long double>(l); }
consteval auto operator"" _d(unsigned long long l) { return si::area<desk, std::int64_t>(l); }
consteval auto operator"" _d(long double l) { return si::area<desk, long double>(l); }
Right now I am fully set up for my project and can start my work of tracking the area taken
by my desks::
@ -156,8 +156,8 @@ define a new base dimension, its units, quantity helper, concept, and UDLs::
template<typename T>
concept People = QuantityOf<T, dim_people>;
constexpr auto operator"" _p(unsigned long long l) { return people<person, std::int64_t>(l); }
constexpr auto operator"" _p(long double l) { return people<person, long double>(l); }
consteval auto operator"" _p(unsigned long long l) { return people<person, std::int64_t>(l); }
consteval auto operator"" _p(long double l) { return people<person, long double>(l); }
With the above we can now define a new derived dimension::

View File

@ -55,20 +55,20 @@ using information = quantity<dim_information, U, Rep>;
inline namespace literals {
// bits
constexpr auto operator"" _q_b(unsigned long long l) { return information<bit, std::int64_t>(l); }
constexpr auto operator"" _q_Kib(unsigned long long l) { return information<kibibit, std::int64_t>(l); }
constexpr auto operator"" _q_Mib(unsigned long long l) { return information<mebibit, std::int64_t>(l); }
constexpr auto operator"" _q_Gib(unsigned long long l) { return information<gibibit, std::int64_t>(l); }
constexpr auto operator"" _q_Tib(unsigned long long l) { return information<tebibit, std::int64_t>(l); }
constexpr auto operator"" _q_Pib(unsigned long long l) { return information<pebibit, std::int64_t>(l); }
consteval auto operator"" _q_b(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return information<bit, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_Kib(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return information<kibibit, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_Mib(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return information<mebibit, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_Gib(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return information<gibibit, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_Tib(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return information<tebibit, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_Pib(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return information<pebibit, std::int64_t>(static_cast<std::int64_t>(l)); }
// bytes
constexpr auto operator"" _q_B(unsigned long long l) { return information<byte, std::int64_t>(l); }
constexpr auto operator"" _q_KiB(unsigned long long l) { return information<kibibyte, std::int64_t>(l); }
constexpr auto operator"" _q_MiB(unsigned long long l) { return information<mebibyte, std::int64_t>(l); }
constexpr auto operator"" _q_GiB(unsigned long long l) { return information<gibibyte, std::int64_t>(l); }
constexpr auto operator"" _q_TiB(unsigned long long l) { return information<tebibyte, std::int64_t>(l); }
constexpr auto operator"" _q_PiB(unsigned long long l) { return information<pebibyte, std::int64_t>(l); }
consteval auto operator"" _q_B(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return information<byte, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_KiB(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return information<kibibyte, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_MiB(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return information<mebibyte, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_GiB(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return information<gibibyte, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_TiB(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return information<tebibyte, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_PiB(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return information<pebibyte, std::int64_t>(static_cast<std::int64_t>(l)); }
} // namespace literals

View File

@ -47,12 +47,12 @@ using bitrate = quantity<dim_bitrate, U, Rep>;
inline namespace literals {
// bits
constexpr auto operator"" _q_b_per_s(unsigned long long l) { return bitrate<bit_per_second, std::int64_t>(l); }
constexpr auto operator"" _q_Kib_per_s(unsigned long long l) { return bitrate<kibibit_per_second, std::int64_t>(l); }
constexpr auto operator"" _q_Mib_per_s(unsigned long long l) { return bitrate<mebibit_per_second, std::int64_t>(l); }
constexpr auto operator"" _q_Gib_per_s(unsigned long long l) { return bitrate<gibibit_per_second, std::int64_t>(l); }
constexpr auto operator"" _q_Tib_per_s(unsigned long long l) { return bitrate<tebibit_per_second, std::int64_t>(l); }
constexpr auto operator"" _q_Pib_per_s(unsigned long long l) { return bitrate<pebibit_per_second, std::int64_t>(l); }
consteval auto operator"" _q_b_per_s(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return bitrate<bit_per_second, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_Kib_per_s(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return bitrate<kibibit_per_second, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_Mib_per_s(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return bitrate<mebibit_per_second, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_Gib_per_s(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return bitrate<gibibit_per_second, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_Tib_per_s(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return bitrate<tebibit_per_second, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_Pib_per_s(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return bitrate<pebibit_per_second, std::int64_t>(static_cast<std::int64_t>(l)); }
} // namespace literals

View File

@ -41,8 +41,8 @@ using angle = quantity<dim_angle<>, U, Rep>;
inline namespace literals {
// rad
constexpr auto operator"" _q_rad(unsigned long long l) { return angle<radian, std::int64_t>(l); }
constexpr auto operator"" _q_rad(long double l) { return angle<radian, long double>(l); }
consteval auto operator"" _q_rad(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return angle<radian, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_rad(long double l) { return angle<radian, long double>(l); }
} // namespace literals

View File

@ -39,8 +39,8 @@ using amount_of_substance = quantity<dim_amount_of_substance, U, Rep>;
inline namespace literals {
// mol
constexpr auto operator"" _q_mol(unsigned long long l) { return amount_of_substance<mole, std::int64_t>(l); }
constexpr auto operator"" _q_mol(long double l) { return amount_of_substance<mole, long double>(l); }
consteval auto operator"" _q_mol(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return amount_of_substance<mole, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_mol(long double l) { return amount_of_substance<mole, long double>(l); }
} // namespace literals

View File

@ -59,88 +59,88 @@ using electric_current = quantity<dim_electric_current, U, Rep>;
inline namespace literals {
// A
constexpr auto operator"" _q_A(unsigned long long l) { return electric_current<ampere, std::int64_t>(l); }
constexpr auto operator"" _q_A(long double l) { return electric_current<ampere, long double>(l); }
consteval auto operator"" _q_A(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return electric_current<ampere, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_A(long double l) { return electric_current<ampere, long double>(l); }
// yA
constexpr auto operator"" _q_yA(unsigned long long l) { return electric_current<yoctoampere, std::int64_t>(l); }
constexpr auto operator"" _q_yA(long double l) { return electric_current<yoctoampere, long double>(l); }
consteval auto operator"" _q_yA(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return electric_current<yoctoampere, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_yA(long double l) { return electric_current<yoctoampere, long double>(l); }
// zA
constexpr auto operator"" _q_zA(unsigned long long l) { return electric_current<zeptoampere, std::int64_t>(l); }
constexpr auto operator"" _q_zA(long double l) { return electric_current<zeptoampere, long double>(l); }
consteval auto operator"" _q_zA(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return electric_current<zeptoampere, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_zA(long double l) { return electric_current<zeptoampere, long double>(l); }
// aA
constexpr auto operator"" _q_aA(unsigned long long l) { return electric_current<attoampere, std::int64_t>(l); }
constexpr auto operator"" _q_aA(long double l) { return electric_current<attoampere, long double>(l); }
consteval auto operator"" _q_aA(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return electric_current<attoampere, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_aA(long double l) { return electric_current<attoampere, long double>(l); }
// fA
constexpr auto operator"" _q_fA(unsigned long long l) { return electric_current<femtoampere, std::int64_t>(l); }
constexpr auto operator"" _q_fA(long double l) { return electric_current<femtoampere, long double>(l); }
consteval auto operator"" _q_fA(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return electric_current<femtoampere, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_fA(long double l) { return electric_current<femtoampere, long double>(l); }
// pA
constexpr auto operator"" _q_pA(unsigned long long l) { return electric_current<picoampere, std::int64_t>(l); }
constexpr auto operator"" _q_pA(long double l) { return electric_current<picoampere, long double>(l); }
consteval auto operator"" _q_pA(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return electric_current<picoampere, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_pA(long double l) { return electric_current<picoampere, long double>(l); }
// nA
constexpr auto operator"" _q_nA(unsigned long long l) { return electric_current<nanoampere, std::int64_t>(l); }
constexpr auto operator"" _q_nA(long double l) { return electric_current<nanoampere, long double>(l); }
consteval auto operator"" _q_nA(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return electric_current<nanoampere, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_nA(long double l) { return electric_current<nanoampere, long double>(l); }
// uA
constexpr auto operator"" _q_uA(unsigned long long l) { return electric_current<microampere, std::int64_t>(l); }
constexpr auto operator"" _q_uA(long double l) { return electric_current<microampere, long double>(l); }
consteval auto operator"" _q_uA(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return electric_current<microampere, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_uA(long double l) { return electric_current<microampere, long double>(l); }
// mA
constexpr auto operator"" _q_mA(unsigned long long l) { return electric_current<milliampere, std::int64_t>(l); }
constexpr auto operator"" _q_mA(long double l) { return electric_current<milliampere, long double>(l); }
consteval auto operator"" _q_mA(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return electric_current<milliampere, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_mA(long double l) { return electric_current<milliampere, long double>(l); }
// cA
constexpr auto operator"" _q_cA(unsigned long long l) { return electric_current<centiampere, std::int64_t>(l); }
constexpr auto operator"" _q_cA(long double l) { return electric_current<centiampere, long double>(l); }
consteval auto operator"" _q_cA(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return electric_current<centiampere, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_cA(long double l) { return electric_current<centiampere, long double>(l); }
// dA
constexpr auto operator"" _q_dA(unsigned long long l) { return electric_current<deciampere, std::int64_t>(l); }
constexpr auto operator"" _q_dA(long double l) { return electric_current<deciampere, long double>(l); }
consteval auto operator"" _q_dA(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return electric_current<deciampere, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_dA(long double l) { return electric_current<deciampere, long double>(l); }
// daA
constexpr auto operator"" _q_daA(unsigned long long l) { return electric_current<decaampere, std::int64_t>(l); }
constexpr auto operator"" _q_daA(long double l) { return electric_current<decaampere, long double>(l); }
consteval auto operator"" _q_daA(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return electric_current<decaampere, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_daA(long double l) { return electric_current<decaampere, long double>(l); }
// hA
constexpr auto operator"" _q_hA(unsigned long long l) { return electric_current<hectoampere, std::int64_t>(l); }
constexpr auto operator"" _q_hA(long double l) { return electric_current<hectoampere, long double>(l); }
consteval auto operator"" _q_hA(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return electric_current<hectoampere, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_hA(long double l) { return electric_current<hectoampere, long double>(l); }
// kA
constexpr auto operator"" _q_kA(unsigned long long l) { return electric_current<kiloampere, std::int64_t>(l); }
constexpr auto operator"" _q_kA(long double l) { return electric_current<kiloampere, long double>(l); }
consteval auto operator"" _q_kA(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return electric_current<kiloampere, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_kA(long double l) { return electric_current<kiloampere, long double>(l); }
// MA
constexpr auto operator"" _q_MA(unsigned long long l) { return electric_current<megaampere, std::int64_t>(l); }
constexpr auto operator"" _q_MA(long double l) { return electric_current<megaampere, long double>(l); }
consteval auto operator"" _q_MA(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return electric_current<megaampere, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_MA(long double l) { return electric_current<megaampere, long double>(l); }
// GA
constexpr auto operator"" _q_GA(unsigned long long l) { return electric_current<gigaampere, std::int64_t>(l); }
constexpr auto operator"" _q_GA(long double l) { return electric_current<gigaampere, long double>(l); }
consteval auto operator"" _q_GA(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return electric_current<gigaampere, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_GA(long double l) { return electric_current<gigaampere, long double>(l); }
// TA
constexpr auto operator"" _q_TA(unsigned long long l) { return electric_current<teraampere, std::int64_t>(l); }
constexpr auto operator"" _q_TA(long double l) { return electric_current<teraampere, long double>(l); }
consteval auto operator"" _q_TA(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return electric_current<teraampere, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_TA(long double l) { return electric_current<teraampere, long double>(l); }
// PA
constexpr auto operator"" _q_PA(unsigned long long l) { return electric_current<petaampere, std::int64_t>(l); }
constexpr auto operator"" _q_PA(long double l) { return electric_current<petaampere, long double>(l); }
consteval auto operator"" _q_PA(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return electric_current<petaampere, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_PA(long double l) { return electric_current<petaampere, long double>(l); }
// EA
constexpr auto operator"" _q_EA(unsigned long long l) { return electric_current<exaampere, std::int64_t>(l); }
constexpr auto operator"" _q_EA(long double l) { return electric_current<exaampere, long double>(l); }
consteval auto operator"" _q_EA(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return electric_current<exaampere, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_EA(long double l) { return electric_current<exaampere, long double>(l); }
// ZA
constexpr auto operator"" _q_ZA(unsigned long long l) { return electric_current<zettaampere, std::int64_t>(l); }
constexpr auto operator"" _q_ZA(long double l) { return electric_current<zettaampere, long double>(l); }
consteval auto operator"" _q_ZA(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return electric_current<zettaampere, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_ZA(long double l) { return electric_current<zettaampere, long double>(l); }
// YA
constexpr auto operator"" _q_YA(unsigned long long l) { return electric_current<yottaampere, std::int64_t>(l); }
constexpr auto operator"" _q_YA(long double l) { return electric_current<yottaampere, long double>(l); }
consteval auto operator"" _q_YA(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return electric_current<yottaampere, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_YA(long double l) { return electric_current<yottaampere, long double>(l); }
} // namespace literals

View File

@ -61,92 +61,92 @@ using length = quantity<dim_length, U, Rep>;
inline namespace literals {
// m
constexpr auto operator"" _q_m(unsigned long long l) { return length<metre, std::int64_t>(l); }
constexpr auto operator"" _q_m(long double l) { return length<metre, long double>(l); }
consteval auto operator"" _q_m(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return length<metre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_m(long double l) { return length<metre, long double>(l); }
// ym
constexpr auto operator"" _q_ym(unsigned long long l) { return length<yoctometre, std::int64_t>(l); }
constexpr auto operator"" _q_ym(long double l) { return length<yoctometre, long double>(l); }
consteval auto operator"" _q_ym(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return length<yoctometre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_ym(long double l) { return length<yoctometre, long double>(l); }
// zm
constexpr auto operator"" _q_zm(unsigned long long l) { return length<zeptometre, std::int64_t>(l); }
constexpr auto operator"" _q_zm(long double l) { return length<zeptometre, long double>(l); }
consteval auto operator"" _q_zm(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return length<zeptometre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_zm(long double l) { return length<zeptometre, long double>(l); }
// am
constexpr auto operator"" _q_am(unsigned long long l) { return length<attometre, std::int64_t>(l); }
constexpr auto operator"" _q_am(long double l) { return length<attometre, long double>(l); }
consteval auto operator"" _q_am(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return length<attometre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_am(long double l) { return length<attometre, long double>(l); }
// fm
constexpr auto operator"" _q_fm(unsigned long long l) { return length<femtometre, std::int64_t>(l); }
constexpr auto operator"" _q_fm(long double l) { return length<femtometre, long double>(l); }
consteval auto operator"" _q_fm(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return length<femtometre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_fm(long double l) { return length<femtometre, long double>(l); }
// pm
constexpr auto operator"" _q_pm(unsigned long long l) { return length<picometre, std::int64_t>(l); }
constexpr auto operator"" _q_pm(long double l) { return length<picometre, long double>(l); }
consteval auto operator"" _q_pm(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return length<picometre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_pm(long double l) { return length<picometre, long double>(l); }
// nm
constexpr auto operator"" _q_nm(unsigned long long l) { return length<nanometre, std::int64_t>(l); }
constexpr auto operator"" _q_nm(long double l) { return length<nanometre, long double>(l); }
consteval auto operator"" _q_nm(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return length<nanometre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_nm(long double l) { return length<nanometre, long double>(l); }
// um
constexpr auto operator"" _q_um(unsigned long long l) { return length<micrometre, std::int64_t>(l); }
constexpr auto operator"" _q_um(long double l) { return length<micrometre, long double>(l); }
consteval auto operator"" _q_um(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return length<micrometre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_um(long double l) { return length<micrometre, long double>(l); }
// mm
constexpr auto operator"" _q_mm(unsigned long long l) { return length<millimetre, std::int64_t>(l); }
constexpr auto operator"" _q_mm(long double l) { return length<millimetre, long double>(l); }
consteval auto operator"" _q_mm(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return length<millimetre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_mm(long double l) { return length<millimetre, long double>(l); }
// cm
constexpr auto operator"" _q_cm(unsigned long long l) { return length<centimetre, std::int64_t>(l); }
constexpr auto operator"" _q_cm(long double l) { return length<centimetre, long double>(l); }
consteval auto operator"" _q_cm(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return length<centimetre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_cm(long double l) { return length<centimetre, long double>(l); }
// dm
constexpr auto operator"" _q_dm(unsigned long long l) { return length<decimetre, std::int64_t>(l); }
constexpr auto operator"" _q_dm(long double l) { return length<decimetre, long double>(l); }
consteval auto operator"" _q_dm(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return length<decimetre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_dm(long double l) { return length<decimetre, long double>(l); }
// dam
constexpr auto operator"" _q_dam(unsigned long long l) { return length<decametre, std::int64_t>(l); }
constexpr auto operator"" _q_dam(long double l) { return length<decametre, long double>(l); }
consteval auto operator"" _q_dam(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return length<decametre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_dam(long double l) { return length<decametre, long double>(l); }
// hm
constexpr auto operator"" _q_hm(unsigned long long l) { return length<hectometre, std::int64_t>(l); }
constexpr auto operator"" _q_hm(long double l) { return length<hectometre, long double>(l); }
consteval auto operator"" _q_hm(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return length<hectometre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_hm(long double l) { return length<hectometre, long double>(l); }
// km
constexpr auto operator"" _q_km(unsigned long long l) { return length<kilometre, std::int64_t>(l); }
constexpr auto operator"" _q_km(long double l) { return length<kilometre, long double>(l); }
consteval auto operator"" _q_km(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return length<kilometre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_km(long double l) { return length<kilometre, long double>(l); }
// Mm
constexpr auto operator"" _q_Mm(unsigned long long l) { return length<megametre, std::int64_t>(l); }
constexpr auto operator"" _q_Mm(long double l) { return length<megametre, long double>(l); }
consteval auto operator"" _q_Mm(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return length<megametre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_Mm(long double l) { return length<megametre, long double>(l); }
// Gm
constexpr auto operator"" _q_Gm(unsigned long long l) { return length<gigametre, std::int64_t>(l); }
constexpr auto operator"" _q_Gm(long double l) { return length<gigametre, long double>(l); }
consteval auto operator"" _q_Gm(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return length<gigametre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_Gm(long double l) { return length<gigametre, long double>(l); }
// Tm
constexpr auto operator"" _q_Tm(unsigned long long l) { return length<terametre, std::int64_t>(l); }
constexpr auto operator"" _q_Tm(long double l) { return length<terametre, long double>(l); }
consteval auto operator"" _q_Tm(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return length<terametre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_Tm(long double l) { return length<terametre, long double>(l); }
// Pm
constexpr auto operator"" _q_Pm(unsigned long long l) { return length<petametre, std::int64_t>(l); }
constexpr auto operator"" _q_Pm(long double l) { return length<petametre, long double>(l); }
consteval auto operator"" _q_Pm(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return length<petametre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_Pm(long double l) { return length<petametre, long double>(l); }
// Em
constexpr auto operator"" _q_Em(unsigned long long l) { return length<exametre, std::int64_t>(l); }
constexpr auto operator"" _q_Em(long double l) { return length<exametre, long double>(l); }
consteval auto operator"" _q_Em(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return length<exametre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_Em(long double l) { return length<exametre, long double>(l); }
// Zm
constexpr auto operator"" _q_Zm(unsigned long long l) { return length<zettametre, std::int64_t>(l); }
constexpr auto operator"" _q_Zm(long double l) { return length<zettametre, long double>(l); }
consteval auto operator"" _q_Zm(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return length<zettametre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_Zm(long double l) { return length<zettametre, long double>(l); }
// Ym
constexpr auto operator"" _q_Ym(unsigned long long l) { return length<yottametre, std::int64_t>(l); }
constexpr auto operator"" _q_Ym(long double l) { return length<yottametre, long double>(l); }
consteval auto operator"" _q_Ym(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return length<yottametre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_Ym(long double l) { return length<yottametre, long double>(l); }
// au
constexpr auto operator"" _q_au(unsigned long long l) { return length<astronomical_unit, std::int64_t>(l); }
constexpr auto operator"" _q_au(long double l) { return length<astronomical_unit, long double>(l); }
consteval auto operator"" _q_au(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return length<astronomical_unit, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_au(long double l) { return length<astronomical_unit, long double>(l); }
} // namespace literals

View File

@ -59,88 +59,88 @@ using luminous_intensity = quantity<dim_luminous_intensity, U, Rep>;
inline namespace literals {
// cd
constexpr auto operator"" _q_cd(unsigned long long l) { return luminous_intensity<candela, std::int64_t>(l); }
constexpr auto operator"" _q_cd(long double l) { return luminous_intensity<candela, long double>(l); }
consteval auto operator"" _q_cd(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return luminous_intensity<candela, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_cd(long double l) { return luminous_intensity<candela, long double>(l); }
// ycd
constexpr auto operator"" _q_ycd(unsigned long long l) { return luminous_intensity<yoctocandela, std::int64_t>(l); }
constexpr auto operator"" _q_ycd(long double l) { return luminous_intensity<yoctocandela, long double>(l); }
consteval auto operator"" _q_ycd(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return luminous_intensity<yoctocandela, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_ycd(long double l) { return luminous_intensity<yoctocandela, long double>(l); }
// zcd
constexpr auto operator"" _q_zcd(unsigned long long l) { return luminous_intensity<zeptocandela, std::int64_t>(l); }
constexpr auto operator"" _q_zcd(long double l) { return luminous_intensity<zeptocandela, long double>(l); }
consteval auto operator"" _q_zcd(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return luminous_intensity<zeptocandela, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_zcd(long double l) { return luminous_intensity<zeptocandela, long double>(l); }
// acd
constexpr auto operator"" _q_acd(unsigned long long l) { return luminous_intensity<attocandela, std::int64_t>(l); }
constexpr auto operator"" _q_acd(long double l) { return luminous_intensity<attocandela, long double>(l); }
consteval auto operator"" _q_acd(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return luminous_intensity<attocandela, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_acd(long double l) { return luminous_intensity<attocandela, long double>(l); }
// fcd
constexpr auto operator"" _q_fcd(unsigned long long l) { return luminous_intensity<femtocandela, std::int64_t>(l); }
constexpr auto operator"" _q_fcd(long double l) { return luminous_intensity<femtocandela, long double>(l); }
consteval auto operator"" _q_fcd(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return luminous_intensity<femtocandela, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_fcd(long double l) { return luminous_intensity<femtocandela, long double>(l); }
// pcd
constexpr auto operator"" _q_pcd(unsigned long long l) { return luminous_intensity<picocandela, std::int64_t>(l); }
constexpr auto operator"" _q_pcd(long double l) { return luminous_intensity<picocandela, long double>(l); }
consteval auto operator"" _q_pcd(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return luminous_intensity<picocandela, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_pcd(long double l) { return luminous_intensity<picocandela, long double>(l); }
// ncd
constexpr auto operator"" _q_ncd(unsigned long long l) { return luminous_intensity<nanocandela, std::int64_t>(l); }
constexpr auto operator"" _q_ncd(long double l) { return luminous_intensity<nanocandela, long double>(l); }
consteval auto operator"" _q_ncd(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return luminous_intensity<nanocandela, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_ncd(long double l) { return luminous_intensity<nanocandela, long double>(l); }
// ucd
constexpr auto operator"" _q_ucd(unsigned long long l) { return luminous_intensity<microcandela, std::int64_t>(l); }
constexpr auto operator"" _q_ucd(long double l) { return luminous_intensity<microcandela, long double>(l); }
consteval auto operator"" _q_ucd(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return luminous_intensity<microcandela, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_ucd(long double l) { return luminous_intensity<microcandela, long double>(l); }
// mcd
constexpr auto operator"" _q_mcd(unsigned long long l) { return luminous_intensity<millicandela, std::int64_t>(l); }
constexpr auto operator"" _q_mcd(long double l) { return luminous_intensity<millicandela, long double>(l); }
consteval auto operator"" _q_mcd(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return luminous_intensity<millicandela, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_mcd(long double l) { return luminous_intensity<millicandela, long double>(l); }
// ccd
constexpr auto operator"" _q_ccd(unsigned long long l) { return luminous_intensity<centicandela, std::int64_t>(l); }
constexpr auto operator"" _q_ccd(long double l) { return luminous_intensity<centicandela, long double>(l); }
consteval auto operator"" _q_ccd(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return luminous_intensity<centicandela, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_ccd(long double l) { return luminous_intensity<centicandela, long double>(l); }
// dcd
constexpr auto operator"" _q_dcd(unsigned long long l) { return luminous_intensity<decicandela, std::int64_t>(l); }
constexpr auto operator"" _q_dcd(long double l) { return luminous_intensity<decicandela, long double>(l); }
consteval auto operator"" _q_dcd(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return luminous_intensity<decicandela, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_dcd(long double l) { return luminous_intensity<decicandela, long double>(l); }
// dacd
constexpr auto operator"" _q_dacd(unsigned long long l) { return luminous_intensity<decacandela, std::int64_t>(l); }
constexpr auto operator"" _q_dacd(long double l) { return luminous_intensity<decacandela, long double>(l); }
consteval auto operator"" _q_dacd(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return luminous_intensity<decacandela, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_dacd(long double l) { return luminous_intensity<decacandela, long double>(l); }
// hcd
constexpr auto operator"" _q_hcd(unsigned long long l) { return luminous_intensity<hectocandela, std::int64_t>(l); }
constexpr auto operator"" _q_hcd(long double l) { return luminous_intensity<hectocandela, long double>(l); }
consteval auto operator"" _q_hcd(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return luminous_intensity<hectocandela, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_hcd(long double l) { return luminous_intensity<hectocandela, long double>(l); }
// kcd
constexpr auto operator"" _q_kcd(unsigned long long l) { return luminous_intensity<kilocandela, std::int64_t>(l); }
constexpr auto operator"" _q_kcd(long double l) { return luminous_intensity<kilocandela, long double>(l); }
consteval auto operator"" _q_kcd(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return luminous_intensity<kilocandela, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_kcd(long double l) { return luminous_intensity<kilocandela, long double>(l); }
// Mcd
constexpr auto operator"" _q_Mcd(unsigned long long l) { return luminous_intensity<megacandela, std::int64_t>(l); }
constexpr auto operator"" _q_Mcd(long double l) { return luminous_intensity<megacandela, long double>(l); }
consteval auto operator"" _q_Mcd(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return luminous_intensity<megacandela, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_Mcd(long double l) { return luminous_intensity<megacandela, long double>(l); }
// Gcd
constexpr auto operator"" _q_Gcd(unsigned long long l) { return luminous_intensity<gigacandela, std::int64_t>(l); }
constexpr auto operator"" _q_Gcd(long double l) { return luminous_intensity<gigacandela, long double>(l); }
consteval auto operator"" _q_Gcd(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return luminous_intensity<gigacandela, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_Gcd(long double l) { return luminous_intensity<gigacandela, long double>(l); }
// Tcd
constexpr auto operator"" _q_Tcd(unsigned long long l) { return luminous_intensity<teracandela, std::int64_t>(l); }
constexpr auto operator"" _q_Tcd(long double l) { return luminous_intensity<teracandela, long double>(l); }
consteval auto operator"" _q_Tcd(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return luminous_intensity<teracandela, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_Tcd(long double l) { return luminous_intensity<teracandela, long double>(l); }
// Pcd
constexpr auto operator"" _q_Pcd(unsigned long long l) { return luminous_intensity<petacandela, std::int64_t>(l); }
constexpr auto operator"" _q_Pcd(long double l) { return luminous_intensity<petacandela, long double>(l); }
consteval auto operator"" _q_Pcd(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return luminous_intensity<petacandela, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_Pcd(long double l) { return luminous_intensity<petacandela, long double>(l); }
// Ecd
constexpr auto operator"" _q_Ecd(unsigned long long l) { return luminous_intensity<exacandela, std::int64_t>(l); }
constexpr auto operator"" _q_Ecd(long double l) { return luminous_intensity<exacandela, long double>(l); }
consteval auto operator"" _q_Ecd(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return luminous_intensity<exacandela, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_Ecd(long double l) { return luminous_intensity<exacandela, long double>(l); }
// Zcd
constexpr auto operator"" _q_Zcd(unsigned long long l) { return luminous_intensity<zettacandela, std::int64_t>(l); }
constexpr auto operator"" _q_Zcd(long double l) { return luminous_intensity<zettacandela, long double>(l); }
consteval auto operator"" _q_Zcd(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return luminous_intensity<zettacandela, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_Zcd(long double l) { return luminous_intensity<zettacandela, long double>(l); }
// Ycd
constexpr auto operator"" _q_Ycd(unsigned long long l) { return luminous_intensity<yottacandela, std::int64_t>(l); }
constexpr auto operator"" _q_Ycd(long double l) { return luminous_intensity<yottacandela, long double>(l); }
consteval auto operator"" _q_Ycd(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return luminous_intensity<yottacandela, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_Ycd(long double l) { return luminous_intensity<yottacandela, long double>(l); }
} // namespace literals

View File

@ -83,176 +83,176 @@ using mass = quantity<dim_mass, U, Rep>;
inline namespace literals {
// g
constexpr auto operator"" _q_g(unsigned long long l) { return mass<gram, std::int64_t>(l); }
constexpr auto operator"" _q_g(long double l) { return mass<gram, long double>(l); }
consteval auto operator"" _q_g(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return mass<gram, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_g(long double l) { return mass<gram, long double>(l); }
// yg
constexpr auto operator"" _q_yg(unsigned long long l) { return mass<yoctogram, std::int64_t>(l); }
constexpr auto operator"" _q_yg(long double l) { return mass<yoctogram, long double>(l); }
consteval auto operator"" _q_yg(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return mass<yoctogram, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_yg(long double l) { return mass<yoctogram, long double>(l); }
// zg
constexpr auto operator"" _q_zg(unsigned long long l) { return mass<zeptogram, std::int64_t>(l); }
constexpr auto operator"" _q_zg(long double l) { return mass<zeptogram, long double>(l); }
consteval auto operator"" _q_zg(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return mass<zeptogram, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_zg(long double l) { return mass<zeptogram, long double>(l); }
// ag
constexpr auto operator"" _q_ag(unsigned long long l) { return mass<attogram, std::int64_t>(l); }
constexpr auto operator"" _q_ag(long double l) { return mass<attogram, long double>(l); }
consteval auto operator"" _q_ag(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return mass<attogram, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_ag(long double l) { return mass<attogram, long double>(l); }
// fg
constexpr auto operator"" _q_fg(unsigned long long l) { return mass<femtogram, std::int64_t>(l); }
constexpr auto operator"" _q_fg(long double l) { return mass<femtogram, long double>(l); }
consteval auto operator"" _q_fg(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return mass<femtogram, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_fg(long double l) { return mass<femtogram, long double>(l); }
// pg
constexpr auto operator"" _q_pg(unsigned long long l) { return mass<picogram, std::int64_t>(l); }
constexpr auto operator"" _q_pg(long double l) { return mass<picogram, long double>(l); }
consteval auto operator"" _q_pg(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return mass<picogram, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_pg(long double l) { return mass<picogram, long double>(l); }
// ng
constexpr auto operator"" _q_ng(unsigned long long l) { return mass<nanogram, std::int64_t>(l); }
constexpr auto operator"" _q_ng(long double l) { return mass<nanogram, long double>(l); }
consteval auto operator"" _q_ng(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return mass<nanogram, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_ng(long double l) { return mass<nanogram, long double>(l); }
// ug
constexpr auto operator"" _q_ug(unsigned long long l) { return mass<microgram, std::int64_t>(l); }
constexpr auto operator"" _q_ug(long double l) { return mass<microgram, long double>(l); }
consteval auto operator"" _q_ug(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return mass<microgram, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_ug(long double l) { return mass<microgram, long double>(l); }
// mg
constexpr auto operator"" _q_mg(unsigned long long l) { return mass<milligram, std::int64_t>(l); }
constexpr auto operator"" _q_mg(long double l) { return mass<milligram, long double>(l); }
consteval auto operator"" _q_mg(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return mass<milligram, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_mg(long double l) { return mass<milligram, long double>(l); }
// cg
constexpr auto operator"" _q_cg(unsigned long long l) { return mass<centigram, std::int64_t>(l); }
constexpr auto operator"" _q_cg(long double l) { return mass<centigram, long double>(l); }
consteval auto operator"" _q_cg(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return mass<centigram, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_cg(long double l) { return mass<centigram, long double>(l); }
// dg
constexpr auto operator"" _q_dg(unsigned long long l) { return mass<decigram, std::int64_t>(l); }
constexpr auto operator"" _q_dg(long double l) { return mass<decigram, long double>(l); }
consteval auto operator"" _q_dg(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return mass<decigram, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_dg(long double l) { return mass<decigram, long double>(l); }
// dag
constexpr auto operator"" _q_dag(unsigned long long l) { return mass<decagram, std::int64_t>(l); }
constexpr auto operator"" _q_dag(long double l) { return mass<decagram, long double>(l); }
consteval auto operator"" _q_dag(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return mass<decagram, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_dag(long double l) { return mass<decagram, long double>(l); }
// hg
constexpr auto operator"" _q_hg(unsigned long long l) { return mass<hectogram, std::int64_t>(l); }
constexpr auto operator"" _q_hg(long double l) { return mass<hectogram, long double>(l); }
consteval auto operator"" _q_hg(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return mass<hectogram, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_hg(long double l) { return mass<hectogram, long double>(l); }
// kg
constexpr auto operator"" _q_kg(unsigned long long l) { return mass<kilogram, std::int64_t>(l); }
constexpr auto operator"" _q_kg(long double l) { return mass<kilogram, long double>(l); }
consteval auto operator"" _q_kg(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return mass<kilogram, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_kg(long double l) { return mass<kilogram, long double>(l); }
// Mg
constexpr auto operator"" _q_Mg(unsigned long long l) { return mass<megagram, std::int64_t>(l); }
constexpr auto operator"" _q_Mg(long double l) { return mass<megagram, long double>(l); }
consteval auto operator"" _q_Mg(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return mass<megagram, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_Mg(long double l) { return mass<megagram, long double>(l); }
// Gg
constexpr auto operator"" _q_Gg(unsigned long long l) { return mass<gigagram, std::int64_t>(l); }
constexpr auto operator"" _q_Gg(long double l) { return mass<gigagram, long double>(l); }
consteval auto operator"" _q_Gg(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return mass<gigagram, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_Gg(long double l) { return mass<gigagram, long double>(l); }
// Tg
constexpr auto operator"" _q_Tg(unsigned long long l) { return mass<teragram, std::int64_t>(l); }
constexpr auto operator"" _q_Tg(long double l) { return mass<teragram, long double>(l); }
consteval auto operator"" _q_Tg(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return mass<teragram, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_Tg(long double l) { return mass<teragram, long double>(l); }
// Pg
constexpr auto operator"" _q_Pg(unsigned long long l) { return mass<petagram, std::int64_t>(l); }
constexpr auto operator"" _q_Pg(long double l) { return mass<petagram, long double>(l); }
consteval auto operator"" _q_Pg(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return mass<petagram, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_Pg(long double l) { return mass<petagram, long double>(l); }
// Eg
constexpr auto operator"" _q_Eg(unsigned long long l) { return mass<exagram, std::int64_t>(l); }
constexpr auto operator"" _q_Eg(long double l) { return mass<exagram, long double>(l); }
consteval auto operator"" _q_Eg(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return mass<exagram, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_Eg(long double l) { return mass<exagram, long double>(l); }
// Zg
constexpr auto operator"" _q_Zg(unsigned long long l) { return mass<zettagram, std::int64_t>(l); }
constexpr auto operator"" _q_Zg(long double l) { return mass<zettagram, long double>(l); }
consteval auto operator"" _q_Zg(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return mass<zettagram, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_Zg(long double l) { return mass<zettagram, long double>(l); }
// Yg
constexpr auto operator"" _q_Yg(unsigned long long l) { return mass<yottagram, std::int64_t>(l); }
constexpr auto operator"" _q_Yg(long double l) { return mass<yottagram, long double>(l); }
consteval auto operator"" _q_Yg(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return mass<yottagram, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_Yg(long double l) { return mass<yottagram, long double>(l); }
// t
constexpr auto operator"" _q_t(unsigned long long l) { return mass<tonne, std::int64_t>(l); }
constexpr auto operator"" _q_t(long double l) { return mass<tonne, long double>(l); }
consteval auto operator"" _q_t(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return mass<tonne, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_t(long double l) { return mass<tonne, long double>(l); }
// yt
constexpr auto operator"" _q_yt(unsigned long long l) { return mass<yoctotonne, std::int64_t>(l); }
constexpr auto operator"" _q_yt(long double l) { return mass<yoctotonne, long double>(l); }
consteval auto operator"" _q_yt(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return mass<yoctotonne, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_yt(long double l) { return mass<yoctotonne, long double>(l); }
// zt
constexpr auto operator"" _q_zt(unsigned long long l) { return mass<zeptotonne, std::int64_t>(l); }
constexpr auto operator"" _q_zt(long double l) { return mass<zeptotonne, long double>(l); }
consteval auto operator"" _q_zt(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return mass<zeptotonne, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_zt(long double l) { return mass<zeptotonne, long double>(l); }
// at
constexpr auto operator"" _q_at(unsigned long long l) { return mass<attotonne, std::int64_t>(l); }
constexpr auto operator"" _q_at(long double l) { return mass<attotonne, long double>(l); }
consteval auto operator"" _q_at(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return mass<attotonne, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_at(long double l) { return mass<attotonne, long double>(l); }
// ft
/*constexpr auto operator"" _q_ft(unsigned long long l) { return mass<femtotonne, std::int64_t>(l); }
constexpr auto operator"" _q_ft(long double l) { return mass<femtotonne, long double>(l); }*/
/*consteval auto operator"" _q_ft(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return mass<femtotonne, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_ft(long double l) { return mass<femtotonne, long double>(l); }*/
// pt
constexpr auto operator"" _q_pt(unsigned long long l) { return mass<picotonne, std::int64_t>(l); }
constexpr auto operator"" _q_pt(long double l) { return mass<picotonne, long double>(l); }
consteval auto operator"" _q_pt(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return mass<picotonne, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_pt(long double l) { return mass<picotonne, long double>(l); }
// nt
constexpr auto operator"" _q_nt(unsigned long long l) { return mass<nanotonne, std::int64_t>(l); }
constexpr auto operator"" _q_nt(long double l) { return mass<nanotonne, long double>(l); }
consteval auto operator"" _q_nt(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return mass<nanotonne, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_nt(long double l) { return mass<nanotonne, long double>(l); }
// ut
constexpr auto operator"" _q_ut(unsigned long long l) { return mass<microtonne, std::int64_t>(l); }
constexpr auto operator"" _q_ut(long double l) { return mass<microtonne, long double>(l); }
consteval auto operator"" _q_ut(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return mass<microtonne, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_ut(long double l) { return mass<microtonne, long double>(l); }
// mt
constexpr auto operator"" _q_mt(unsigned long long l) { return mass<millitonne, std::int64_t>(l); }
constexpr auto operator"" _q_mt(long double l) { return mass<millitonne, long double>(l); }
consteval auto operator"" _q_mt(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return mass<millitonne, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_mt(long double l) { return mass<millitonne, long double>(l); }
// ct
constexpr auto operator"" _q_ct(unsigned long long l) { return mass<centitonne, std::int64_t>(l); }
constexpr auto operator"" _q_ct(long double l) { return mass<centitonne, long double>(l); }
consteval auto operator"" _q_ct(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return mass<centitonne, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_ct(long double l) { return mass<centitonne, long double>(l); }
// dt
constexpr auto operator"" _q_dt(unsigned long long l) { return mass<decitonne, std::int64_t>(l); }
constexpr auto operator"" _q_dt(long double l) { return mass<decitonne, long double>(l); }
consteval auto operator"" _q_dt(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return mass<decitonne, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_dt(long double l) { return mass<decitonne, long double>(l); }
// dat
constexpr auto operator"" _q_dat(unsigned long long l) { return mass<decatonne, std::int64_t>(l); }
constexpr auto operator"" _q_dat(long double l) { return mass<decatonne, long double>(l); }
consteval auto operator"" _q_dat(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return mass<decatonne, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_dat(long double l) { return mass<decatonne, long double>(l); }
// ht
constexpr auto operator"" _q_ht(unsigned long long l) { return mass<hectotonne, std::int64_t>(l); }
constexpr auto operator"" _q_ht(long double l) { return mass<hectotonne, long double>(l); }
consteval auto operator"" _q_ht(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return mass<hectotonne, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_ht(long double l) { return mass<hectotonne, long double>(l); }
// kt
constexpr auto operator"" _q_kt(unsigned long long l) { return mass<kilotonne, std::int64_t>(l); }
constexpr auto operator"" _q_kt(long double l) { return mass<kilotonne, long double>(l); }
consteval auto operator"" _q_kt(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return mass<kilotonne, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_kt(long double l) { return mass<kilotonne, long double>(l); }
// Mt
constexpr auto operator"" _q_Mt(unsigned long long l) { return mass<megatonne, std::int64_t>(l); }
constexpr auto operator"" _q_Mt(long double l) { return mass<megatonne, long double>(l); }
consteval auto operator"" _q_Mt(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return mass<megatonne, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_Mt(long double l) { return mass<megatonne, long double>(l); }
// Gt
constexpr auto operator"" _q_Gt(unsigned long long l) { return mass<gigatonne, std::int64_t>(l); }
constexpr auto operator"" _q_Gt(long double l) { return mass<gigatonne, long double>(l); }
consteval auto operator"" _q_Gt(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return mass<gigatonne, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_Gt(long double l) { return mass<gigatonne, long double>(l); }
// Tt
constexpr auto operator"" _q_Tt(unsigned long long l) { return mass<teratonne, std::int64_t>(l); }
constexpr auto operator"" _q_Tt(long double l) { return mass<teratonne, long double>(l); }
consteval auto operator"" _q_Tt(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return mass<teratonne, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_Tt(long double l) { return mass<teratonne, long double>(l); }
// Pt
constexpr auto operator"" _q_Pt(unsigned long long l) { return mass<petatonne, std::int64_t>(l); }
constexpr auto operator"" _q_Pt(long double l) { return mass<petatonne, long double>(l); }
consteval auto operator"" _q_Pt(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return mass<petatonne, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_Pt(long double l) { return mass<petatonne, long double>(l); }
// Et
constexpr auto operator"" _q_Et(unsigned long long l) { return mass<exatonne, std::int64_t>(l); }
constexpr auto operator"" _q_Et(long double l) { return mass<exatonne, long double>(l); }
consteval auto operator"" _q_Et(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return mass<exatonne, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_Et(long double l) { return mass<exatonne, long double>(l); }
// Zt
constexpr auto operator"" _q_Zt(unsigned long long l) { return mass<zettatonne, std::int64_t>(l); }
constexpr auto operator"" _q_Zt(long double l) { return mass<zettatonne, long double>(l); }
consteval auto operator"" _q_Zt(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return mass<zettatonne, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_Zt(long double l) { return mass<zettatonne, long double>(l); }
// Yt
constexpr auto operator"" _q_Yt(unsigned long long l) { return mass<yottatonne, std::int64_t>(l); }
constexpr auto operator"" _q_Yt(long double l) { return mass<yottatonne, long double>(l); }
consteval auto operator"" _q_Yt(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return mass<yottatonne, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_Yt(long double l) { return mass<yottatonne, long double>(l); }
// Da
constexpr auto operator"" _q_Da(unsigned long long l) { return mass<dalton, std::int64_t>(l); }
constexpr auto operator"" _q_Da(long double l) { return mass<dalton, long double>(l); }
consteval auto operator"" _q_Da(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return mass<dalton, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_Da(long double l) { return mass<dalton, long double>(l); }
} // namespace literals

View File

@ -38,8 +38,8 @@ using thermodynamic_temperature = quantity<dim_thermodynamic_temperature, U, Rep
inline namespace literals {
// K
constexpr auto operator"" _q_K(unsigned long long l) { return thermodynamic_temperature<kelvin, std::int64_t>(l); }
constexpr auto operator"" _q_K(long double l) { return thermodynamic_temperature<kelvin, long double>(l); }
consteval auto operator"" _q_K(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return thermodynamic_temperature<kelvin, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_K(long double l) { return thermodynamic_temperature<kelvin, long double>(l); }
} // namespace literals

View File

@ -50,52 +50,52 @@ using time = quantity<dim_time, U, Rep>;
inline namespace literals {
// ys
constexpr auto operator"" _q_ys(unsigned long long l) { return time<yoctosecond, std::int64_t>(l); }
constexpr auto operator"" _q_ys(long double l) { return time<yoctosecond, long double>(l); }
consteval auto operator"" _q_ys(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return time<yoctosecond, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_ys(long double l) { return time<yoctosecond, long double>(l); }
// zs
constexpr auto operator"" _q_zs(unsigned long long l) { return time<zeptosecond, std::int64_t>(l); }
constexpr auto operator"" _q_zs(long double l) { return time<zeptosecond, long double>(l); }
consteval auto operator"" _q_zs(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return time<zeptosecond, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_zs(long double l) { return time<zeptosecond, long double>(l); }
// as
constexpr auto operator"" _q_as(unsigned long long l) { return time<attosecond, std::int64_t>(l); }
constexpr auto operator"" _q_as(long double l) { return time<attosecond, long double>(l); }
consteval auto operator"" _q_as(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return time<attosecond, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_as(long double l) { return time<attosecond, long double>(l); }
// fs
constexpr auto operator"" _q_fs(unsigned long long l) { return time<femtosecond, std::int64_t>(l); }
constexpr auto operator"" _q_fs(long double l) { return time<femtosecond, long double>(l); }
consteval auto operator"" _q_fs(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return time<femtosecond, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_fs(long double l) { return time<femtosecond, long double>(l); }
// ps
constexpr auto operator"" _q_ps(unsigned long long l) { return time<picosecond, std::int64_t>(l); }
constexpr auto operator"" _q_ps(long double l) { return time<picosecond, long double>(l); }
consteval auto operator"" _q_ps(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return time<picosecond, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_ps(long double l) { return time<picosecond, long double>(l); }
// ns
constexpr auto operator"" _q_ns(unsigned long long l) { return time<nanosecond, std::int64_t>(l); }
constexpr auto operator"" _q_ns(long double l) { return time<nanosecond, long double>(l); }
consteval auto operator"" _q_ns(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return time<nanosecond, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_ns(long double l) { return time<nanosecond, long double>(l); }
// us
constexpr auto operator"" _q_us(unsigned long long l) { return time<microsecond, std::int64_t>(l); }
constexpr auto operator"" _q_us(long double l) { return time<microsecond, long double>(l); }
consteval auto operator"" _q_us(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return time<microsecond, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_us(long double l) { return time<microsecond, long double>(l); }
// ms
constexpr auto operator"" _q_ms(unsigned long long l) { return time<millisecond, std::int64_t>(l); }
constexpr auto operator"" _q_ms(long double l) { return time<millisecond, long double>(l); }
consteval auto operator"" _q_ms(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return time<millisecond, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_ms(long double l) { return time<millisecond, long double>(l); }
// s
constexpr auto operator"" _q_s(unsigned long long l) { return time<second, std::int64_t>(l); }
constexpr auto operator"" _q_s(long double l) { return time<second, long double>(l); }
consteval auto operator"" _q_s(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return time<second, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_s(long double l) { return time<second, long double>(l); }
// min
constexpr auto operator"" _q_min(unsigned long long l) { return time<minute, std::int64_t>(l); }
constexpr auto operator"" _q_min(long double l) { return time<minute, long double>(l); }
consteval auto operator"" _q_min(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return time<minute, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_min(long double l) { return time<minute, long double>(l); }
// h
constexpr auto operator"" _q_h(unsigned long long l) { return time<hour, std::int64_t>(l); }
constexpr auto operator"" _q_h(long double l) { return time<hour, long double>(l); }
consteval auto operator"" _q_h(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return time<hour, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_h(long double l) { return time<hour, long double>(l); }
// d
constexpr auto operator"" _q_d(unsigned long long l) { return time<day, std::int64_t>(l); }
constexpr auto operator"" _q_d(long double l) { return time<day, long double>(l); }
consteval auto operator"" _q_d(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return time<day, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_d(long double l) { return time<day, long double>(l); }
} // namespace literals

View File

@ -37,8 +37,8 @@ using length = quantity<dim_length, U, Rep>;
inline namespace literals {
// cm
constexpr auto operator"" _q_cm(unsigned long long l) { return length<centimetre, std::int64_t>(l); }
constexpr auto operator"" _q_cm(long double l) { return length<centimetre, long double>(l); }
consteval auto operator"" _q_cm(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return length<centimetre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_cm(long double l) { return length<centimetre, long double>(l); }
} // namespace literals

View File

@ -37,8 +37,8 @@ using mass = quantity<dim_mass, U, Rep>;
inline namespace literals {
// g
constexpr auto operator"" _q_g(unsigned long long l) { return mass<gram, std::int64_t>(l); }
constexpr auto operator"" _q_g(long double l) { return mass<gram, long double>(l); }
consteval auto operator"" _q_g(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return mass<gram, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_g(long double l) { return mass<gram, long double>(l); }
} // namespace literals

View File

@ -37,8 +37,8 @@ using acceleration = quantity<dim_acceleration, U, Rep>;
inline namespace literals {
// Gal
constexpr auto operator"" _q_Gal(unsigned long long l) { return acceleration<gal, std::int64_t>(l); }
constexpr auto operator"" _q_Gal(long double l) { return acceleration<gal, long double>(l); }
consteval auto operator"" _q_Gal(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return acceleration<gal, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_Gal(long double l) { return acceleration<gal, long double>(l); }
} // namespace literals

View File

@ -38,8 +38,8 @@ using area = quantity<dim_area, U, Rep>;
inline namespace literals {
// cm2
constexpr auto operator"" _q_cm2(unsigned long long l) { return area<square_centimetre, std::int64_t>(l); }
constexpr auto operator"" _q_cm2(long double l) { return area<square_centimetre, long double>(l); }
consteval auto operator"" _q_cm2(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return area<square_centimetre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_cm2(long double l) { return area<square_centimetre, long double>(l); }
} // namespace literals

View File

@ -39,8 +39,8 @@ using energy = quantity<dim_energy, U, Rep>;
inline namespace literals {
// erg
constexpr auto operator"" _q_erg(unsigned long long l) { return energy<erg, std::int64_t>(l); }
constexpr auto operator"" _q_erg(long double l) { return energy<erg, long double>(l); }
consteval auto operator"" _q_erg(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return energy<erg, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_erg(long double l) { return energy<erg, long double>(l); }
} // namespace literals

View File

@ -40,8 +40,8 @@ using force = quantity<dim_force, U, Rep>;
inline namespace literals {
// dyn
constexpr auto operator"" _q_dyn(unsigned long long l) { return force<dyne, std::int64_t>(l); }
constexpr auto operator"" _q_dyn(long double l) { return force<dyne, long double>(l); }
consteval auto operator"" _q_dyn(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return force<dyne, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_dyn(long double l) { return force<dyne, long double>(l); }
} // namespace literals

View File

@ -39,8 +39,8 @@ using power = quantity<dim_power, U, Rep>;
inline namespace literals {
// erg/s
constexpr auto operator"" _q_erg_per_s(unsigned long long l) { return power<erg_per_second, std::int64_t>(l); }
constexpr auto operator"" _q_erg_per_s(long double l) { return power<erg_per_second, long double>(l); }
consteval auto operator"" _q_erg_per_s(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return power<erg_per_second, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_erg_per_s(long double l) { return power<erg_per_second, long double>(l); }
} // namespace literals

View File

@ -40,8 +40,8 @@ using pressure = quantity<dim_pressure, U, Rep>;
inline namespace literals {
// Ba
constexpr auto operator"" _q_Ba(unsigned long long l) { return pressure<barye, std::int64_t>(l); }
constexpr auto operator"" _q_Ba(long double l) { return pressure<barye, long double>(l); }
consteval auto operator"" _q_Ba(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return pressure<barye, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_Ba(long double l) { return pressure<barye, long double>(l); }
} // namespace literals

View File

@ -38,8 +38,8 @@ using speed = quantity<dim_speed, U, Rep>;
inline namespace literals {
// cm/s
constexpr auto operator"" _q_cm_per_s(unsigned long long l) { return speed<centimetre_per_second, std::int64_t>(l); }
constexpr auto operator"" _q_cm_per_s(long double l) { return speed<centimetre_per_second, long double>(l); }
consteval auto operator"" _q_cm_per_s(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return speed<centimetre_per_second, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_cm_per_s(long double l) { return speed<centimetre_per_second, long double>(l); }
} // namespace literals

View File

@ -59,88 +59,88 @@ using absorbed_dose = quantity<dim_absorbed_dose, U, Rep>;
inline namespace literals {
// Gy
constexpr auto operator"" _q_Gy(unsigned long long l) { return absorbed_dose<gray, std::int64_t>(l); }
constexpr auto operator"" _q_Gy(long double l) { return absorbed_dose<gray, long double>(l); }
consteval auto operator"" _q_Gy(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return absorbed_dose<gray, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_Gy(long double l) { return absorbed_dose<gray, long double>(l); }
// yGy
constexpr auto operator"" _q_yGy(unsigned long long l) { return absorbed_dose<yoctogray, std::int64_t>(l); }
constexpr auto operator"" _q_yGy(long double l) { return absorbed_dose<yoctogray, long double>(l); }
consteval auto operator"" _q_yGy(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return absorbed_dose<yoctogray, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_yGy(long double l) { return absorbed_dose<yoctogray, long double>(l); }
// zGy
constexpr auto operator"" _q_zGy(unsigned long long l) { return absorbed_dose<zeptogray, std::int64_t>(l); }
constexpr auto operator"" _q_zGy(long double l) { return absorbed_dose<zeptogray, long double>(l); }
consteval auto operator"" _q_zGy(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return absorbed_dose<zeptogray, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_zGy(long double l) { return absorbed_dose<zeptogray, long double>(l); }
// aGy
constexpr auto operator"" _q_aGy(unsigned long long l) { return absorbed_dose<attogray, std::int64_t>(l); }
constexpr auto operator"" _q_aGy(long double l) { return absorbed_dose<attogray, long double>(l); }
consteval auto operator"" _q_aGy(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return absorbed_dose<attogray, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_aGy(long double l) { return absorbed_dose<attogray, long double>(l); }
// fGy
constexpr auto operator"" _q_fGy(unsigned long long l) { return absorbed_dose<femtogray, std::int64_t>(l); }
constexpr auto operator"" _q_fGy(long double l) { return absorbed_dose<femtogray, long double>(l); }
consteval auto operator"" _q_fGy(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return absorbed_dose<femtogray, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_fGy(long double l) { return absorbed_dose<femtogray, long double>(l); }
// pGy
constexpr auto operator"" _q_pGy(unsigned long long l) { return absorbed_dose<picogray, std::int64_t>(l); }
constexpr auto operator"" _q_pGy(long double l) { return absorbed_dose<picogray, long double>(l); }
consteval auto operator"" _q_pGy(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return absorbed_dose<picogray, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_pGy(long double l) { return absorbed_dose<picogray, long double>(l); }
// nGy
constexpr auto operator"" _q_nGy(unsigned long long l) { return absorbed_dose<nanogray, std::int64_t>(l); }
constexpr auto operator"" _q_nGy(long double l) { return absorbed_dose<nanogray, long double>(l); }
consteval auto operator"" _q_nGy(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return absorbed_dose<nanogray, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_nGy(long double l) { return absorbed_dose<nanogray, long double>(l); }
// uGy
constexpr auto operator"" _q_uGy(unsigned long long l) { return absorbed_dose<microgray, std::int64_t>(l); }
constexpr auto operator"" _q_uGy(long double l) { return absorbed_dose<microgray, long double>(l); }
consteval auto operator"" _q_uGy(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return absorbed_dose<microgray, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_uGy(long double l) { return absorbed_dose<microgray, long double>(l); }
// mGy
constexpr auto operator"" _q_mGy(unsigned long long l) { return absorbed_dose<milligray, std::int64_t>(l); }
constexpr auto operator"" _q_mGy(long double l) { return absorbed_dose<milligray, long double>(l); }
consteval auto operator"" _q_mGy(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return absorbed_dose<milligray, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_mGy(long double l) { return absorbed_dose<milligray, long double>(l); }
// cGy
constexpr auto operator"" _q_cGy(unsigned long long l) { return absorbed_dose<centigray, std::int64_t>(l); }
constexpr auto operator"" _q_cGy(long double l) { return absorbed_dose<centigray, long double>(l); }
consteval auto operator"" _q_cGy(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return absorbed_dose<centigray, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_cGy(long double l) { return absorbed_dose<centigray, long double>(l); }
// dGy
constexpr auto operator"" _q_dGy(unsigned long long l) { return absorbed_dose<decigray, std::int64_t>(l); }
constexpr auto operator"" _q_dGy(long double l) { return absorbed_dose<decigray, long double>(l); }
consteval auto operator"" _q_dGy(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return absorbed_dose<decigray, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_dGy(long double l) { return absorbed_dose<decigray, long double>(l); }
// daGy
constexpr auto operator"" _q_daGy(unsigned long long l) { return absorbed_dose<decagray, std::int64_t>(l); }
constexpr auto operator"" _q_daGy(long double l) { return absorbed_dose<decagray, long double>(l); }
consteval auto operator"" _q_daGy(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return absorbed_dose<decagray, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_daGy(long double l) { return absorbed_dose<decagray, long double>(l); }
// hGy
constexpr auto operator"" _q_hGy(unsigned long long l) { return absorbed_dose<hectogray, std::int64_t>(l); }
constexpr auto operator"" _q_hGy(long double l) { return absorbed_dose<hectogray, long double>(l); }
consteval auto operator"" _q_hGy(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return absorbed_dose<hectogray, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_hGy(long double l) { return absorbed_dose<hectogray, long double>(l); }
// kGy
constexpr auto operator"" _q_kGy(unsigned long long l) { return absorbed_dose<kilogray, std::int64_t>(l); }
constexpr auto operator"" _q_kGy(long double l) { return absorbed_dose<kilogray, long double>(l); }
consteval auto operator"" _q_kGy(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return absorbed_dose<kilogray, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_kGy(long double l) { return absorbed_dose<kilogray, long double>(l); }
// MGy
constexpr auto operator"" _q_MGy(unsigned long long l) { return absorbed_dose<megagray, std::int64_t>(l); }
constexpr auto operator"" _q_MGy(long double l) { return absorbed_dose<megagray, long double>(l); }
consteval auto operator"" _q_MGy(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return absorbed_dose<megagray, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_MGy(long double l) { return absorbed_dose<megagray, long double>(l); }
// GGy
constexpr auto operator"" _q_GGy(unsigned long long l) { return absorbed_dose<gigagray, std::int64_t>(l); }
constexpr auto operator"" _q_GGy(long double l) { return absorbed_dose<gigagray, long double>(l); }
consteval auto operator"" _q_GGy(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return absorbed_dose<gigagray, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_GGy(long double l) { return absorbed_dose<gigagray, long double>(l); }
// TGy
constexpr auto operator"" _q_TGy(unsigned long long l) { return absorbed_dose<teragray, std::int64_t>(l); }
constexpr auto operator"" _q_TGy(long double l) { return absorbed_dose<teragray, long double>(l); }
consteval auto operator"" _q_TGy(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return absorbed_dose<teragray, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_TGy(long double l) { return absorbed_dose<teragray, long double>(l); }
// PGy
constexpr auto operator"" _q_PGy(unsigned long long l) { return absorbed_dose<petagray, std::int64_t>(l); }
constexpr auto operator"" _q_PGy(long double l) { return absorbed_dose<petagray, long double>(l); }
consteval auto operator"" _q_PGy(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return absorbed_dose<petagray, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_PGy(long double l) { return absorbed_dose<petagray, long double>(l); }
// EGy
constexpr auto operator"" _q_EGy(unsigned long long l) { return absorbed_dose<exagray, std::int64_t>(l); }
constexpr auto operator"" _q_EGy(long double l) { return absorbed_dose<exagray, long double>(l); }
consteval auto operator"" _q_EGy(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return absorbed_dose<exagray, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_EGy(long double l) { return absorbed_dose<exagray, long double>(l); }
// ZGy
constexpr auto operator"" _q_ZGy(unsigned long long l) { return absorbed_dose<zettagray, std::int64_t>(l); }
constexpr auto operator"" _q_ZGy(long double l) { return absorbed_dose<zettagray, long double>(l); }
consteval auto operator"" _q_ZGy(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return absorbed_dose<zettagray, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_ZGy(long double l) { return absorbed_dose<zettagray, long double>(l); }
// YGy
constexpr auto operator"" _q_YGy(unsigned long long l) { return absorbed_dose<yottagray, std::int64_t>(l); }
constexpr auto operator"" _q_YGy(long double l) { return absorbed_dose<yottagray, long double>(l); }
consteval auto operator"" _q_YGy(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return absorbed_dose<yottagray, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_YGy(long double l) { return absorbed_dose<yottagray, long double>(l); }
} // namespace literals

View File

@ -37,8 +37,8 @@ using acceleration = quantity<dim_acceleration, U, Rep>;
inline namespace literals {
// m/s2
constexpr auto operator"" _q_m_per_s2(unsigned long long l) { return acceleration<metre_per_second_sq, std::int64_t>(l); }
constexpr auto operator"" _q_m_per_s2(long double l) { return acceleration<metre_per_second_sq, long double>(l); }
consteval auto operator"" _q_m_per_s2(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return acceleration<metre_per_second_sq, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_m_per_s2(long double l) { return acceleration<metre_per_second_sq, long double>(l); }
} // namespace literals

View File

@ -40,8 +40,8 @@ using angular_velocity = quantity<dim_angular_velocity, U, Rep>;
inline namespace literals {
// rad / s
constexpr auto operator"" _q_rad_per_s(unsigned long long l) { return angular_velocity<radian_per_second, std::int64_t>(l); }
constexpr auto operator"" _q_rad_per_s(long double l) { return angular_velocity<radian_per_second, long double>(l); }
consteval auto operator"" _q_rad_per_s(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return angular_velocity<radian_per_second, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_rad_per_s(long double l) { return angular_velocity<radian_per_second, long double>(l); }
} // namespace literals

View File

@ -60,92 +60,92 @@ using area = quantity<dim_area, U, Rep>;
inline namespace literals {
// m2
constexpr auto operator"" _q_m2(unsigned long long l) { return area<square_metre, std::int64_t>(l); }
constexpr auto operator"" _q_m2(long double l) { return area<square_metre, long double>(l); }
consteval auto operator"" _q_m2(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return area<square_metre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_m2(long double l) { return area<square_metre, long double>(l); }
// ym2
constexpr auto operator"" _q_ym2(unsigned long long l) { return area<square_yoctometre, std::int64_t>(l); }
constexpr auto operator"" _q_ym2(long double l) { return area<square_yoctometre, long double>(l); }
consteval auto operator"" _q_ym2(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return area<square_yoctometre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_ym2(long double l) { return area<square_yoctometre, long double>(l); }
// zm2
constexpr auto operator"" _q_zm2(unsigned long long l) { return area<square_zeptometre, std::int64_t>(l); }
constexpr auto operator"" _q_zm2(long double l) { return area<square_zeptometre, long double>(l); }
consteval auto operator"" _q_zm2(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return area<square_zeptometre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_zm2(long double l) { return area<square_zeptometre, long double>(l); }
// am2
constexpr auto operator"" _q_am2(unsigned long long l) { return area<square_attometre, std::int64_t>(l); }
constexpr auto operator"" _q_am2(long double l) { return area<square_attometre, long double>(l); }
consteval auto operator"" _q_am2(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return area<square_attometre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_am2(long double l) { return area<square_attometre, long double>(l); }
// fm2
constexpr auto operator"" _q_fm2(unsigned long long l) { return area<square_femtometre, std::int64_t>(l); }
constexpr auto operator"" _q_fm2(long double l) { return area<square_femtometre, long double>(l); }
consteval auto operator"" _q_fm2(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return area<square_femtometre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_fm2(long double l) { return area<square_femtometre, long double>(l); }
// pm2
constexpr auto operator"" _q_pm2(unsigned long long l) { return area<square_picometre, std::int64_t>(l); }
constexpr auto operator"" _q_pm2(long double l) { return area<square_picometre, long double>(l); }
consteval auto operator"" _q_pm2(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return area<square_picometre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_pm2(long double l) { return area<square_picometre, long double>(l); }
// nm2
constexpr auto operator"" _q_nm2(unsigned long long l) { return area<square_nanometre, std::int64_t>(l); }
constexpr auto operator"" _q_nm2(long double l) { return area<square_nanometre, long double>(l); }
consteval auto operator"" _q_nm2(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return area<square_nanometre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_nm2(long double l) { return area<square_nanometre, long double>(l); }
// um2
constexpr auto operator"" _q_um2(unsigned long long l) { return area<square_micrometre, std::int64_t>(l); }
constexpr auto operator"" _q_um2(long double l) { return area<square_micrometre, long double>(l); }
consteval auto operator"" _q_um2(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return area<square_micrometre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_um2(long double l) { return area<square_micrometre, long double>(l); }
// mm2
constexpr auto operator"" _q_mm2(unsigned long long l) { return area<square_millimetre, std::int64_t>(l); }
constexpr auto operator"" _q_mm2(long double l) { return area<square_millimetre, long double>(l); }
consteval auto operator"" _q_mm2(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return area<square_millimetre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_mm2(long double l) { return area<square_millimetre, long double>(l); }
// cm2
constexpr auto operator"" _q_cm2(unsigned long long l) { return area<square_centimetre, std::int64_t>(l); }
constexpr auto operator"" _q_cm2(long double l) { return area<square_centimetre, long double>(l); }
consteval auto operator"" _q_cm2(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return area<square_centimetre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_cm2(long double l) { return area<square_centimetre, long double>(l); }
// dm2
constexpr auto operator"" _q_dm2(unsigned long long l) { return area<square_decimetre, std::int64_t>(l); }
constexpr auto operator"" _q_dm2(long double l) { return area<square_decimetre, long double>(l); }
consteval auto operator"" _q_dm2(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return area<square_decimetre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_dm2(long double l) { return area<square_decimetre, long double>(l); }
// dam2
constexpr auto operator"" _q_dam2(unsigned long long l) { return area<square_decametre, std::int64_t>(l); }
constexpr auto operator"" _q_dam2(long double l) { return area<square_decametre, long double>(l); }
consteval auto operator"" _q_dam2(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return area<square_decametre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_dam2(long double l) { return area<square_decametre, long double>(l); }
// hm2
constexpr auto operator"" _q_hm2(unsigned long long l) { return area<square_hectometre, std::int64_t>(l); }
constexpr auto operator"" _q_hm2(long double l) { return area<square_hectometre, long double>(l); }
consteval auto operator"" _q_hm2(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return area<square_hectometre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_hm2(long double l) { return area<square_hectometre, long double>(l); }
// km2
constexpr auto operator"" _q_km2(unsigned long long l) { return area<square_kilometre, std::int64_t>(l); }
constexpr auto operator"" _q_km2(long double l) { return area<square_kilometre, long double>(l); }
consteval auto operator"" _q_km2(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return area<square_kilometre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_km2(long double l) { return area<square_kilometre, long double>(l); }
// Mm2
constexpr auto operator"" _q_Mm2(unsigned long long l) { return area<square_megametre, std::int64_t>(l); }
constexpr auto operator"" _q_Mm2(long double l) { return area<square_megametre, long double>(l); }
consteval auto operator"" _q_Mm2(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return area<square_megametre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_Mm2(long double l) { return area<square_megametre, long double>(l); }
// Gm2
constexpr auto operator"" _q_Gm2(unsigned long long l) { return area<square_gigametre, std::int64_t>(l); }
constexpr auto operator"" _q_Gm2(long double l) { return area<square_gigametre, long double>(l); }
consteval auto operator"" _q_Gm2(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return area<square_gigametre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_Gm2(long double l) { return area<square_gigametre, long double>(l); }
// Tm2
constexpr auto operator"" _q_Tm2(unsigned long long l) { return area<square_terametre, std::int64_t>(l); }
constexpr auto operator"" _q_Tm2(long double l) { return area<square_terametre, long double>(l); }
consteval auto operator"" _q_Tm2(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return area<square_terametre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_Tm2(long double l) { return area<square_terametre, long double>(l); }
// Pm2
constexpr auto operator"" _q_Pm2(unsigned long long l) { return area<square_petametre, std::int64_t>(l); }
constexpr auto operator"" _q_Pm2(long double l) { return area<square_petametre, long double>(l); }
consteval auto operator"" _q_Pm2(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return area<square_petametre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_Pm2(long double l) { return area<square_petametre, long double>(l); }
// Em2
constexpr auto operator"" _q_Em2(unsigned long long l) { return area<square_exametre, std::int64_t>(l); }
constexpr auto operator"" _q_Em2(long double l) { return area<square_exametre, long double>(l); }
consteval auto operator"" _q_Em2(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return area<square_exametre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_Em2(long double l) { return area<square_exametre, long double>(l); }
// Zm2
constexpr auto operator"" _q_Zm2(unsigned long long l) { return area<square_zettametre, std::int64_t>(l); }
constexpr auto operator"" _q_Zm2(long double l) { return area<square_zettametre, long double>(l); }
consteval auto operator"" _q_Zm2(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return area<square_zettametre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_Zm2(long double l) { return area<square_zettametre, long double>(l); }
// Ym2
constexpr auto operator"" _q_Ym2(unsigned long long l) { return area<square_yottametre, std::int64_t>(l); }
constexpr auto operator"" _q_Ym2(long double l) { return area<square_yottametre, long double>(l); }
consteval auto operator"" _q_Ym2(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return area<square_yottametre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_Ym2(long double l) { return area<square_yottametre, long double>(l); }
// ha
constexpr auto operator"" _q_ha(unsigned long long l) { return area<hectare, std::int64_t>(l); }
constexpr auto operator"" _q_ha(long double l) { return area<hectare, long double>(l); }
consteval auto operator"" _q_ha(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return area<hectare, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_ha(long double l) { return area<hectare, long double>(l); }
} // namespace literals

View File

@ -60,88 +60,88 @@ using capacitance = quantity<dim_capacitance, U, Rep>;
inline namespace literals {
// F
constexpr auto operator"" _q_F(unsigned long long l) { return capacitance<farad, std::int64_t>(l); }
constexpr auto operator"" _q_F(long double l) { return capacitance<farad, long double>(l); }
consteval auto operator"" _q_F(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return capacitance<farad, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_F(long double l) { return capacitance<farad, long double>(l); }
// yF
constexpr auto operator"" _q_yF(unsigned long long l) { return capacitance<yoctofarad, std::int64_t>(l); }
constexpr auto operator"" _q_yF(long double l) { return capacitance<yoctofarad, long double>(l); }
consteval auto operator"" _q_yF(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return capacitance<yoctofarad, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_yF(long double l) { return capacitance<yoctofarad, long double>(l); }
// zF
constexpr auto operator"" _q_zF(unsigned long long l) { return capacitance<zeptofarad, std::int64_t>(l); }
constexpr auto operator"" _q_zF(long double l) { return capacitance<zeptofarad, long double>(l); }
consteval auto operator"" _q_zF(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return capacitance<zeptofarad, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_zF(long double l) { return capacitance<zeptofarad, long double>(l); }
// aF
constexpr auto operator"" _q_aF(unsigned long long l) { return capacitance<attofarad, std::int64_t>(l); }
constexpr auto operator"" _q_aF(long double l) { return capacitance<attofarad, long double>(l); }
consteval auto operator"" _q_aF(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return capacitance<attofarad, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_aF(long double l) { return capacitance<attofarad, long double>(l); }
// fF
constexpr auto operator"" _q_fF(unsigned long long l) { return capacitance<femtofarad, std::int64_t>(l); }
constexpr auto operator"" _q_fF(long double l) { return capacitance<femtofarad, long double>(l); }
consteval auto operator"" _q_fF(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return capacitance<femtofarad, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_fF(long double l) { return capacitance<femtofarad, long double>(l); }
// pF
constexpr auto operator"" _q_pF(unsigned long long l) { return capacitance<picofarad, std::int64_t>(l); }
constexpr auto operator"" _q_pF(long double l) { return capacitance<picofarad, long double>(l); }
consteval auto operator"" _q_pF(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return capacitance<picofarad, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_pF(long double l) { return capacitance<picofarad, long double>(l); }
// nF
constexpr auto operator"" _q_nF(unsigned long long l) { return capacitance<nanofarad, std::int64_t>(l); }
constexpr auto operator"" _q_nF(long double l) { return capacitance<nanofarad, long double>(l); }
consteval auto operator"" _q_nF(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return capacitance<nanofarad, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_nF(long double l) { return capacitance<nanofarad, long double>(l); }
// uF
constexpr auto operator"" _q_uF(unsigned long long l) { return capacitance<microfarad, std::int64_t>(l); }
constexpr auto operator"" _q_uF(long double l) { return capacitance<microfarad, long double>(l); }
consteval auto operator"" _q_uF(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return capacitance<microfarad, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_uF(long double l) { return capacitance<microfarad, long double>(l); }
// mF
constexpr auto operator"" _q_mF(unsigned long long l) { return capacitance<millifarad, std::int64_t>(l); }
constexpr auto operator"" _q_mF(long double l) { return capacitance<millifarad, long double>(l); }
consteval auto operator"" _q_mF(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return capacitance<millifarad, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_mF(long double l) { return capacitance<millifarad, long double>(l); }
// cF
constexpr auto operator"" _q_cF(unsigned long long l) { return capacitance<centifarad, std::int64_t>(l); }
constexpr auto operator"" _q_cF(long double l) { return capacitance<centifarad, long double>(l); }
consteval auto operator"" _q_cF(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return capacitance<centifarad, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_cF(long double l) { return capacitance<centifarad, long double>(l); }
// dF
constexpr auto operator"" _q_dF(unsigned long long l) { return capacitance<decifarad, std::int64_t>(l); }
constexpr auto operator"" _q_dF(long double l) { return capacitance<decifarad, long double>(l); }
consteval auto operator"" _q_dF(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return capacitance<decifarad, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_dF(long double l) { return capacitance<decifarad, long double>(l); }
// daF
constexpr auto operator"" _q_daF(unsigned long long l) { return capacitance<decafarad, std::int64_t>(l); }
constexpr auto operator"" _q_daF(long double l) { return capacitance<decafarad, long double>(l); }
consteval auto operator"" _q_daF(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return capacitance<decafarad, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_daF(long double l) { return capacitance<decafarad, long double>(l); }
// hF
constexpr auto operator"" _q_hF(unsigned long long l) { return capacitance<hectofarad, std::int64_t>(l); }
constexpr auto operator"" _q_hF(long double l) { return capacitance<hectofarad, long double>(l); }
consteval auto operator"" _q_hF(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return capacitance<hectofarad, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_hF(long double l) { return capacitance<hectofarad, long double>(l); }
// kF
constexpr auto operator"" _q_kF(unsigned long long l) { return capacitance<kilofarad, std::int64_t>(l); }
constexpr auto operator"" _q_kF(long double l) { return capacitance<kilofarad, long double>(l); }
consteval auto operator"" _q_kF(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return capacitance<kilofarad, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_kF(long double l) { return capacitance<kilofarad, long double>(l); }
// MF
constexpr auto operator"" _q_MF(unsigned long long l) { return capacitance<megafarad, std::int64_t>(l); }
constexpr auto operator"" _q_MF(long double l) { return capacitance<megafarad, long double>(l); }
consteval auto operator"" _q_MF(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return capacitance<megafarad, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_MF(long double l) { return capacitance<megafarad, long double>(l); }
// GF
constexpr auto operator"" _q_GF(unsigned long long l) { return capacitance<gigafarad, std::int64_t>(l); }
constexpr auto operator"" _q_GF(long double l) { return capacitance<gigafarad, long double>(l); }
consteval auto operator"" _q_GF(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return capacitance<gigafarad, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_GF(long double l) { return capacitance<gigafarad, long double>(l); }
// TF
constexpr auto operator"" _q_TF(unsigned long long l) { return capacitance<terafarad, std::int64_t>(l); }
constexpr auto operator"" _q_TF(long double l) { return capacitance<terafarad, long double>(l); }
consteval auto operator"" _q_TF(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return capacitance<terafarad, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_TF(long double l) { return capacitance<terafarad, long double>(l); }
// PF
constexpr auto operator"" _q_PF(unsigned long long l) { return capacitance<petafarad, std::int64_t>(l); }
constexpr auto operator"" _q_PF(long double l) { return capacitance<petafarad, long double>(l); }
consteval auto operator"" _q_PF(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return capacitance<petafarad, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_PF(long double l) { return capacitance<petafarad, long double>(l); }
// EF
constexpr auto operator"" _q_EF(unsigned long long l) { return capacitance<exafarad, std::int64_t>(l); }
constexpr auto operator"" _q_EF(long double l) { return capacitance<exafarad, long double>(l); }
consteval auto operator"" _q_EF(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return capacitance<exafarad, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_EF(long double l) { return capacitance<exafarad, long double>(l); }
// ZF
constexpr auto operator"" _q_ZF(unsigned long long l) { return capacitance<zettafarad, std::int64_t>(l); }
constexpr auto operator"" _q_ZF(long double l) { return capacitance<zettafarad, long double>(l); }
consteval auto operator"" _q_ZF(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return capacitance<zettafarad, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_ZF(long double l) { return capacitance<zettafarad, long double>(l); }
// YF
constexpr auto operator"" _q_YF(unsigned long long l) { return capacitance<yottafarad, std::int64_t>(l); }
constexpr auto operator"" _q_YF(long double l) { return capacitance<yottafarad, long double>(l); }
consteval auto operator"" _q_YF(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return capacitance<yottafarad, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_YF(long double l) { return capacitance<yottafarad, long double>(l); }
} // namespace literals

View File

@ -62,92 +62,92 @@ using catalytic_activity = quantity<dim_catalytic_activity, U, Rep>;
inline namespace literals {
// kat
constexpr auto operator"" _q_kat(unsigned long long l) { return catalytic_activity<katal, std::int64_t>(l); }
constexpr auto operator"" _q_kat(long double l) { return catalytic_activity<katal, long double>(l); }
consteval auto operator"" _q_kat(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return catalytic_activity<katal, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_kat(long double l) { return catalytic_activity<katal, long double>(l); }
// ykat
constexpr auto operator"" _q_ykat(unsigned long long l) { return catalytic_activity<yoctokatal, std::int64_t>(l); }
constexpr auto operator"" _q_ykat(long double l) { return catalytic_activity<yoctokatal, long double>(l); }
consteval auto operator"" _q_ykat(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return catalytic_activity<yoctokatal, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_ykat(long double l) { return catalytic_activity<yoctokatal, long double>(l); }
// zkat
constexpr auto operator"" _q_zkat(unsigned long long l) { return catalytic_activity<zeptokatal, std::int64_t>(l); }
constexpr auto operator"" _q_zkat(long double l) { return catalytic_activity<zeptokatal, long double>(l); }
consteval auto operator"" _q_zkat(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return catalytic_activity<zeptokatal, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_zkat(long double l) { return catalytic_activity<zeptokatal, long double>(l); }
// akat
constexpr auto operator"" _q_akat(unsigned long long l) { return catalytic_activity<attokatal, std::int64_t>(l); }
constexpr auto operator"" _q_akat(long double l) { return catalytic_activity<attokatal, long double>(l); }
consteval auto operator"" _q_akat(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return catalytic_activity<attokatal, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_akat(long double l) { return catalytic_activity<attokatal, long double>(l); }
// fkat
constexpr auto operator"" _q_fkat(unsigned long long l) { return catalytic_activity<femtokatal, std::int64_t>(l); }
constexpr auto operator"" _q_fkat(long double l) { return catalytic_activity<femtokatal, long double>(l); }
consteval auto operator"" _q_fkat(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return catalytic_activity<femtokatal, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_fkat(long double l) { return catalytic_activity<femtokatal, long double>(l); }
// pkat
constexpr auto operator"" _q_pkat(unsigned long long l) { return catalytic_activity<picokatal, std::int64_t>(l); }
constexpr auto operator"" _q_pkat(long double l) { return catalytic_activity<picokatal, long double>(l); }
consteval auto operator"" _q_pkat(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return catalytic_activity<picokatal, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_pkat(long double l) { return catalytic_activity<picokatal, long double>(l); }
// nkat
constexpr auto operator"" _q_nkat(unsigned long long l) { return catalytic_activity<nanokatal, std::int64_t>(l); }
constexpr auto operator"" _q_nkat(long double l) { return catalytic_activity<nanokatal, long double>(l); }
consteval auto operator"" _q_nkat(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return catalytic_activity<nanokatal, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_nkat(long double l) { return catalytic_activity<nanokatal, long double>(l); }
// ukat
constexpr auto operator"" _q_ukat(unsigned long long l) { return catalytic_activity<microkatal, std::int64_t>(l); }
constexpr auto operator"" _q_ukat(long double l) { return catalytic_activity<microkatal, long double>(l); }
consteval auto operator"" _q_ukat(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return catalytic_activity<microkatal, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_ukat(long double l) { return catalytic_activity<microkatal, long double>(l); }
// mkat
constexpr auto operator"" _q_mkat(unsigned long long l) { return catalytic_activity<millikatal, std::int64_t>(l); }
constexpr auto operator"" _q_mkat(long double l) { return catalytic_activity<millikatal, long double>(l); }
consteval auto operator"" _q_mkat(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return catalytic_activity<millikatal, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_mkat(long double l) { return catalytic_activity<millikatal, long double>(l); }
// ckat
constexpr auto operator"" _q_ckat(unsigned long long l) { return catalytic_activity<centikatal, std::int64_t>(l); }
constexpr auto operator"" _q_ckat(long double l) { return catalytic_activity<centikatal, long double>(l); }
consteval auto operator"" _q_ckat(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return catalytic_activity<centikatal, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_ckat(long double l) { return catalytic_activity<centikatal, long double>(l); }
// dkat
constexpr auto operator"" _q_dkat(unsigned long long l) { return catalytic_activity<decikatal, std::int64_t>(l); }
constexpr auto operator"" _q_dkat(long double l) { return catalytic_activity<decikatal, long double>(l); }
consteval auto operator"" _q_dkat(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return catalytic_activity<decikatal, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_dkat(long double l) { return catalytic_activity<decikatal, long double>(l); }
// dakat
constexpr auto operator"" _q_dakat(unsigned long long l) { return catalytic_activity<decakatal, std::int64_t>(l); }
constexpr auto operator"" _q_dakat(long double l) { return catalytic_activity<decakatal, long double>(l); }
consteval auto operator"" _q_dakat(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return catalytic_activity<decakatal, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_dakat(long double l) { return catalytic_activity<decakatal, long double>(l); }
// hkat
constexpr auto operator"" _q_hkat(unsigned long long l) { return catalytic_activity<hectokatal, std::int64_t>(l); }
constexpr auto operator"" _q_hkat(long double l) { return catalytic_activity<hectokatal, long double>(l); }
consteval auto operator"" _q_hkat(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return catalytic_activity<hectokatal, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_hkat(long double l) { return catalytic_activity<hectokatal, long double>(l); }
// kkat
constexpr auto operator"" _q_kkat(unsigned long long l) { return catalytic_activity<kilokatal, std::int64_t>(l); }
constexpr auto operator"" _q_kkat(long double l) { return catalytic_activity<kilokatal, long double>(l); }
consteval auto operator"" _q_kkat(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return catalytic_activity<kilokatal, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_kkat(long double l) { return catalytic_activity<kilokatal, long double>(l); }
// Mkat
constexpr auto operator"" _q_Mkat(unsigned long long l) { return catalytic_activity<megakatal, std::int64_t>(l); }
constexpr auto operator"" _q_Mkat(long double l) { return catalytic_activity<megakatal, long double>(l); }
consteval auto operator"" _q_Mkat(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return catalytic_activity<megakatal, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_Mkat(long double l) { return catalytic_activity<megakatal, long double>(l); }
// Gkat
constexpr auto operator"" _q_Gkat(unsigned long long l) { return catalytic_activity<gigakatal, std::int64_t>(l); }
constexpr auto operator"" _q_Gkat(long double l) { return catalytic_activity<gigakatal, long double>(l); }
consteval auto operator"" _q_Gkat(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return catalytic_activity<gigakatal, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_Gkat(long double l) { return catalytic_activity<gigakatal, long double>(l); }
// Tkat
constexpr auto operator"" _q_Tkat(unsigned long long l) { return catalytic_activity<terakatal, std::int64_t>(l); }
constexpr auto operator"" _q_Tkat(long double l) { return catalytic_activity<terakatal, long double>(l); }
consteval auto operator"" _q_Tkat(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return catalytic_activity<terakatal, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_Tkat(long double l) { return catalytic_activity<terakatal, long double>(l); }
// Pkat
constexpr auto operator"" _q_Pkat(unsigned long long l) { return catalytic_activity<petakatal, std::int64_t>(l); }
constexpr auto operator"" _q_Pkat(long double l) { return catalytic_activity<petakatal, long double>(l); }
consteval auto operator"" _q_Pkat(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return catalytic_activity<petakatal, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_Pkat(long double l) { return catalytic_activity<petakatal, long double>(l); }
// Ekat
constexpr auto operator"" _q_Ekat(unsigned long long l) { return catalytic_activity<exakatal, std::int64_t>(l); }
constexpr auto operator"" _q_Ekat(long double l) { return catalytic_activity<exakatal, long double>(l); }
consteval auto operator"" _q_Ekat(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return catalytic_activity<exakatal, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_Ekat(long double l) { return catalytic_activity<exakatal, long double>(l); }
// Zkat
constexpr auto operator"" _q_Zkat(unsigned long long l) { return catalytic_activity<zettakatal, std::int64_t>(l); }
constexpr auto operator"" _q_Zkat(long double l) { return catalytic_activity<zettakatal, long double>(l); }
consteval auto operator"" _q_Zkat(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return catalytic_activity<zettakatal, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_Zkat(long double l) { return catalytic_activity<zettakatal, long double>(l); }
// Ykat
constexpr auto operator"" _q_Ykat(unsigned long long l) { return catalytic_activity<yottakatal, std::int64_t>(l); }
constexpr auto operator"" _q_Ykat(long double l) { return catalytic_activity<yottakatal, long double>(l); }
consteval auto operator"" _q_Ykat(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return catalytic_activity<yottakatal, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_Ykat(long double l) { return catalytic_activity<yottakatal, long double>(l); }
// U
constexpr auto operator"" _q_U(unsigned long long l) { return catalytic_activity<enzyme_unit, std::int64_t>(l); }
constexpr auto operator"" _q_U(long double l) { return catalytic_activity<enzyme_unit, long double>(l); }
consteval auto operator"" _q_U(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return catalytic_activity<enzyme_unit, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_U(long double l) { return catalytic_activity<enzyme_unit, long double>(l); }
} // namespace literals

View File

@ -45,12 +45,12 @@ using surface_charge_density = quantity<dim_surface_charge_density, U, Rep>;
inline namespace literals {
// C/m³
constexpr auto operator"" _q_C_per_m3(unsigned long long l) { return charge_density<coulomb_per_metre_cub, std::int64_t>(l); }
constexpr auto operator"" _q_C_per_m3(long double l) { return charge_density<coulomb_per_metre_cub, long double>(l); }
consteval auto operator"" _q_C_per_m3(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return charge_density<coulomb_per_metre_cub, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_C_per_m3(long double l) { return charge_density<coulomb_per_metre_cub, long double>(l); }
// C/m²
constexpr auto operator"" _q_C_per_m2(unsigned long long l) { return surface_charge_density<coulomb_per_metre_sq, std::int64_t>(l); }
constexpr auto operator"" _q_C_per_m2(long double l) { return surface_charge_density<coulomb_per_metre_sq, long double>(l); }
consteval auto operator"" _q_C_per_m2(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return surface_charge_density<coulomb_per_metre_sq, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_C_per_m2(long double l) { return surface_charge_density<coulomb_per_metre_sq, long double>(l); }
} // namespace literals

View File

@ -38,8 +38,8 @@ using concentration = quantity<dim_concentration, U, Rep>;
inline namespace literals {
// mol/m³
constexpr auto operator"" _q_mol_per_m3(unsigned long long l) { return concentration<mol_per_metre_cub, std::int64_t>(l); }
constexpr auto operator"" _q_mol_per_m3(long double l) { return concentration<mol_per_metre_cub, long double>(l); }
consteval auto operator"" _q_mol_per_m3(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return concentration<mol_per_metre_cub, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_mol_per_m3(long double l) { return concentration<mol_per_metre_cub, long double>(l); }
} // namespace literals

View File

@ -55,72 +55,72 @@ using conductance = quantity<dim_conductance, U, Rep>;
inline namespace literals {
// R
constexpr auto operator"" _q_S(unsigned long long l) { return conductance<siemens, std::int64_t>(l); }
constexpr auto operator"" _q_S(long double l) { return conductance<siemens, long double>(l); }
consteval auto operator"" _q_S(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return conductance<siemens, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_S(long double l) { return conductance<siemens, long double>(l); }
// yS
constexpr auto operator"" _q_yS(unsigned long long l) { return conductance<yoctosiemens, std::int64_t>(l); }
constexpr auto operator"" _q_yS(long double l) { return conductance<yoctosiemens, long double>(l); }
consteval auto operator"" _q_yS(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return conductance<yoctosiemens, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_yS(long double l) { return conductance<yoctosiemens, long double>(l); }
// zS
constexpr auto operator"" _q_zS(unsigned long long l) { return conductance<zeptosiemens, std::int64_t>(l); }
constexpr auto operator"" _q_zS(long double l) { return conductance<zeptosiemens, long double>(l); }
consteval auto operator"" _q_zS(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return conductance<zeptosiemens, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_zS(long double l) { return conductance<zeptosiemens, long double>(l); }
// aS
constexpr auto operator"" _q_aS(unsigned long long l) { return conductance<attosiemens, std::int64_t>(l); }
constexpr auto operator"" _q_aS(long double l) { return conductance<attosiemens, long double>(l); }
consteval auto operator"" _q_aS(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return conductance<attosiemens, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_aS(long double l) { return conductance<attosiemens, long double>(l); }
// fS
constexpr auto operator"" _q_fS(unsigned long long l) { return conductance<femtosiemens, std::int64_t>(l); }
constexpr auto operator"" _q_fS(long double l) { return conductance<femtosiemens, long double>(l); }
consteval auto operator"" _q_fS(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return conductance<femtosiemens, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_fS(long double l) { return conductance<femtosiemens, long double>(l); }
// pS
constexpr auto operator"" _q_pS(unsigned long long l) { return conductance<picosiemens, std::int64_t>(l); }
constexpr auto operator"" _q_pS(long double l) { return conductance<picosiemens, long double>(l); }
consteval auto operator"" _q_pS(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return conductance<picosiemens, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_pS(long double l) { return conductance<picosiemens, long double>(l); }
// nS
constexpr auto operator"" _q_nS(unsigned long long l) { return conductance<nanosiemens, std::int64_t>(l); }
constexpr auto operator"" _q_nS(long double l) { return conductance<nanosiemens, long double>(l); }
consteval auto operator"" _q_nS(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return conductance<nanosiemens, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_nS(long double l) { return conductance<nanosiemens, long double>(l); }
// µS
constexpr auto operator"" _q_uS(unsigned long long l) { return conductance<microsiemens, std::int64_t>(l); }
constexpr auto operator"" _q_uS(long double l) { return conductance<microsiemens, long double>(l); }
consteval auto operator"" _q_uS(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return conductance<microsiemens, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_uS(long double l) { return conductance<microsiemens, long double>(l); }
// mS
constexpr auto operator"" _q_mS(unsigned long long l) { return conductance<millisiemens, std::int64_t>(l); }
constexpr auto operator"" _q_mS(long double l) { return conductance<millisiemens, long double>(l); }
consteval auto operator"" _q_mS(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return conductance<millisiemens, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_mS(long double l) { return conductance<millisiemens, long double>(l); }
// kS
constexpr auto operator"" _q_kS(unsigned long long l) { return conductance<kilosiemens, std::int64_t>(l); }
constexpr auto operator"" _q_kS(long double l) { return conductance<kilosiemens, long double>(l); }
consteval auto operator"" _q_kS(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return conductance<kilosiemens, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_kS(long double l) { return conductance<kilosiemens, long double>(l); }
// MS
constexpr auto operator"" _q_MS(unsigned long long l) { return conductance<megasiemens, std::int64_t>(l); }
constexpr auto operator"" _q_MS(long double l) { return conductance<megasiemens, long double>(l); }
consteval auto operator"" _q_MS(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return conductance<megasiemens, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_MS(long double l) { return conductance<megasiemens, long double>(l); }
// GS
constexpr auto operator"" _q_GS(unsigned long long l) { return conductance<gigasiemens, std::int64_t>(l); }
constexpr auto operator"" _q_GS(long double l) { return conductance<gigasiemens, long double>(l); }
consteval auto operator"" _q_GS(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return conductance<gigasiemens, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_GS(long double l) { return conductance<gigasiemens, long double>(l); }
// TS
constexpr auto operator"" _q_TS(unsigned long long l) { return conductance<terasiemens, std::int64_t>(l); }
constexpr auto operator"" _q_TS(long double l) { return conductance<terasiemens, long double>(l); }
consteval auto operator"" _q_TS(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return conductance<terasiemens, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_TS(long double l) { return conductance<terasiemens, long double>(l); }
// PS
constexpr auto operator"" _q_PS(unsigned long long l) { return conductance<petasiemens, std::int64_t>(l); }
constexpr auto operator"" _q_PS(long double l) { return conductance<petasiemens, long double>(l); }
consteval auto operator"" _q_PS(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return conductance<petasiemens, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_PS(long double l) { return conductance<petasiemens, long double>(l); }
// ES
constexpr auto operator"" _q_ES(unsigned long long l) { return conductance<exasiemens, std::int64_t>(l); }
constexpr auto operator"" _q_ES(long double l) { return conductance<exasiemens, long double>(l); }
consteval auto operator"" _q_ES(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return conductance<exasiemens, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_ES(long double l) { return conductance<exasiemens, long double>(l); }
// ZS
constexpr auto operator"" _q_ZS(unsigned long long l) { return conductance<zettasiemens, std::int64_t>(l); }
constexpr auto operator"" _q_ZS(long double l) { return conductance<zettasiemens, long double>(l); }
consteval auto operator"" _q_ZS(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return conductance<zettasiemens, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_ZS(long double l) { return conductance<zettasiemens, long double>(l); }
// YS
constexpr auto operator"" _q_YS(unsigned long long l) { return conductance<yottasiemens, std::int64_t>(l); }
constexpr auto operator"" _q_YS(long double l) { return conductance<yottasiemens, long double>(l); }
consteval auto operator"" _q_YS(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return conductance<yottasiemens, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_YS(long double l) { return conductance<yottasiemens, long double>(l); }
} // namespace literals

View File

@ -40,8 +40,8 @@ using current_density = quantity<dim_current_density, U, Rep>;
inline namespace literals {
// A / m²
constexpr auto operator"" _q_A_per_m2(unsigned long long l) { return current_density<ampere_per_metre_sq, std::int64_t>(l); }
constexpr auto operator"" _q_A_per_m2(long double l) { return current_density<ampere_per_metre_sq, long double>(l); }
consteval auto operator"" _q_A_per_m2(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return current_density<ampere_per_metre_sq, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_A_per_m2(long double l) { return current_density<ampere_per_metre_sq, long double>(l); }
} // namespace literals

View File

@ -40,8 +40,8 @@ using density = quantity<dim_density, U, Rep>;
inline namespace literals {
// kg / m³
constexpr auto operator"" _q_kg_per_m3(unsigned long long l) { return density<kilogram_per_metre_cub, std::int64_t>(l); }
constexpr auto operator"" _q_kg_per_m3(long double l) { return density<kilogram_per_metre_cub, long double>(l); }
consteval auto operator"" _q_kg_per_m3(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return density<kilogram_per_metre_cub, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_kg_per_m3(long double l) { return density<kilogram_per_metre_cub, long double>(l); }
} // namespace literals

View File

@ -38,8 +38,8 @@ using dynamic_viscosity = quantity<dim_dynamic_viscosity, U, Rep>;
inline namespace literals {
// Pa·s
constexpr auto operator"" _q_Pa_s(unsigned long long l) { return dynamic_viscosity<pascal_second, std::int64_t>(l); }
constexpr auto operator"" _q_Pa_s(long double l) { return dynamic_viscosity<pascal_second, long double>(l); }
consteval auto operator"" _q_Pa_s(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return dynamic_viscosity<pascal_second, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_Pa_s(long double l) { return dynamic_viscosity<pascal_second, long double>(l); }
} // namespace literals

View File

@ -39,8 +39,8 @@ using electric_charge = quantity<dim_electric_charge, U, Rep>;
inline namespace literals {
// C
constexpr auto operator"" _q_C(unsigned long long l) { return electric_charge<coulomb, std::int64_t>(l); }
constexpr auto operator"" _q_C(long double l) { return electric_charge<coulomb, long double>(l); }
consteval auto operator"" _q_C(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return electric_charge<coulomb, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_C(long double l) { return electric_charge<coulomb, long double>(l); }
} // namespace literals

View File

@ -37,8 +37,8 @@ using electric_field_strength = quantity<dim_electric_field_strength, U, Rep>;
inline namespace literals {
// V/m
constexpr auto operator"" _q_V_per_m(unsigned long long l) { return electric_field_strength<volt_per_metre, std::int64_t>(l); }
constexpr auto operator"" _q_V_per_m(long double l) { return electric_field_strength<volt_per_metre, long double>(l); }
consteval auto operator"" _q_V_per_m(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return electric_field_strength<volt_per_metre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_V_per_m(long double l) { return electric_field_strength<volt_per_metre, long double>(l); }
} // namespace literals

View File

@ -58,80 +58,80 @@ using energy = quantity<dim_energy, U, Rep>;
inline namespace literals {
// J
constexpr auto operator"" _q_J(unsigned long long l) { return energy<joule, std::int64_t>(l); }
constexpr auto operator"" _q_J(long double l) { return energy<joule, long double>(l); }
consteval auto operator"" _q_J(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return energy<joule, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_J(long double l) { return energy<joule, long double>(l); }
// yJ
constexpr auto operator"" _q_yJ(unsigned long long l) { return energy<yoctojoule, std::int64_t>(l); }
constexpr auto operator"" _q_yJ(long double l) { return energy<yoctojoule, long double>(l); }
consteval auto operator"" _q_yJ(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return energy<yoctojoule, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_yJ(long double l) { return energy<yoctojoule, long double>(l); }
// zJ
constexpr auto operator"" _q_zJ(unsigned long long l) { return energy<zeptojoule, std::int64_t>(l); }
constexpr auto operator"" _q_zJ(long double l) { return energy<zeptojoule, long double>(l); }
consteval auto operator"" _q_zJ(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return energy<zeptojoule, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_zJ(long double l) { return energy<zeptojoule, long double>(l); }
// aJ
constexpr auto operator"" _q_aJ(unsigned long long l) { return energy<attojoule, std::int64_t>(l); }
constexpr auto operator"" _q_aJ(long double l) { return energy<attojoule, long double>(l); }
consteval auto operator"" _q_aJ(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return energy<attojoule, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_aJ(long double l) { return energy<attojoule, long double>(l); }
// fJ
constexpr auto operator"" _q_fJ(unsigned long long l) { return energy<femtojoule, std::int64_t>(l); }
constexpr auto operator"" _q_fJ(long double l) { return energy<femtojoule, long double>(l); }
consteval auto operator"" _q_fJ(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return energy<femtojoule, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_fJ(long double l) { return energy<femtojoule, long double>(l); }
// pJ
constexpr auto operator"" _q_pJ(unsigned long long l) { return energy<picojoule, std::int64_t>(l); }
constexpr auto operator"" _q_pJ(long double l) { return energy<picojoule, long double>(l); }
consteval auto operator"" _q_pJ(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return energy<picojoule, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_pJ(long double l) { return energy<picojoule, long double>(l); }
// nJ
constexpr auto operator"" _q_nJ(unsigned long long l) { return energy<nanojoule, std::int64_t>(l); }
constexpr auto operator"" _q_nJ(long double l) { return energy<nanojoule, long double>(l); }
consteval auto operator"" _q_nJ(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return energy<nanojoule, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_nJ(long double l) { return energy<nanojoule, long double>(l); }
// uJ
constexpr auto operator"" _q_uJ(unsigned long long l) { return energy<microjoule, std::int64_t>(l); }
constexpr auto operator"" _q_uJ(long double l) { return energy<microjoule, long double>(l); }
consteval auto operator"" _q_uJ(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return energy<microjoule, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_uJ(long double l) { return energy<microjoule, long double>(l); }
// mJ
constexpr auto operator"" _q_mJ(unsigned long long l) { return energy<millijoule, std::int64_t>(l); }
constexpr auto operator"" _q_mJ(long double l) { return energy<millijoule, long double>(l); }
consteval auto operator"" _q_mJ(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return energy<millijoule, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_mJ(long double l) { return energy<millijoule, long double>(l); }
// kJ
constexpr auto operator"" _q_kJ(unsigned long long l) { return energy<kilojoule, std::int64_t>(l); }
constexpr auto operator"" _q_kJ(long double l) { return energy<kilojoule, long double>(l); }
consteval auto operator"" _q_kJ(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return energy<kilojoule, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_kJ(long double l) { return energy<kilojoule, long double>(l); }
// MJ
constexpr auto operator"" _q_MJ(unsigned long long l) { return energy<megajoule, std::int64_t>(l); }
constexpr auto operator"" _q_MJ(long double l) { return energy<megajoule, long double>(l); }
consteval auto operator"" _q_MJ(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return energy<megajoule, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_MJ(long double l) { return energy<megajoule, long double>(l); }
// GJ
constexpr auto operator"" _q_GJ(unsigned long long l) { return energy<gigajoule, std::int64_t>(l); }
constexpr auto operator"" _q_GJ(long double l) { return energy<gigajoule, long double>(l); }
consteval auto operator"" _q_GJ(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return energy<gigajoule, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_GJ(long double l) { return energy<gigajoule, long double>(l); }
// TJ
constexpr auto operator"" _q_TJ(unsigned long long l) { return energy<terajoule, std::int64_t>(l); }
constexpr auto operator"" _q_TJ(long double l) { return energy<terajoule, long double>(l); }
consteval auto operator"" _q_TJ(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return energy<terajoule, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_TJ(long double l) { return energy<terajoule, long double>(l); }
// PJ
constexpr auto operator"" _q_PJ(unsigned long long l) { return energy<petajoule, std::int64_t>(l); }
constexpr auto operator"" _q_PJ(long double l) { return energy<petajoule, long double>(l); }
consteval auto operator"" _q_PJ(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return energy<petajoule, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_PJ(long double l) { return energy<petajoule, long double>(l); }
// EJ
constexpr auto operator"" _q_EJ(unsigned long long l) { return energy<exajoule, std::int64_t>(l); }
constexpr auto operator"" _q_EJ(long double l) { return energy<exajoule, long double>(l); }
consteval auto operator"" _q_EJ(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return energy<exajoule, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_EJ(long double l) { return energy<exajoule, long double>(l); }
// ZJ
constexpr auto operator"" _q_ZJ(unsigned long long l) { return energy<zettajoule, std::int64_t>(l); }
constexpr auto operator"" _q_ZJ(long double l) { return energy<zettajoule, long double>(l); }
consteval auto operator"" _q_ZJ(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return energy<zettajoule, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_ZJ(long double l) { return energy<zettajoule, long double>(l); }
// YJ
constexpr auto operator"" _q_YJ(unsigned long long l) { return energy<yottajoule, std::int64_t>(l); }
constexpr auto operator"" _q_YJ(long double l) { return energy<yottajoule, long double>(l); }
consteval auto operator"" _q_YJ(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return energy<yottajoule, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_YJ(long double l) { return energy<yottajoule, long double>(l); }
// eV
constexpr auto operator"" _q_eV(unsigned long long l) { return energy<electronvolt, std::int64_t>(l); }
constexpr auto operator"" _q_eV(long double l) { return energy<electronvolt, long double>(l); }
consteval auto operator"" _q_eV(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return energy<electronvolt, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_eV(long double l) { return energy<electronvolt, long double>(l); }
// GeV
constexpr auto operator"" _q_GeV(unsigned long long l) { return energy<gigaelectronvolt, std::int64_t>(l); }
constexpr auto operator"" _q_GeV(long double l) { return energy<gigaelectronvolt, long double>(l); }
consteval auto operator"" _q_GeV(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return energy<gigaelectronvolt, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_GeV(long double l) { return energy<gigaelectronvolt, long double>(l); }
} // namespace literals

View File

@ -60,88 +60,88 @@ using force = quantity<dim_force, U, Rep>;
inline namespace literals {
// N
constexpr auto operator"" _q_N(unsigned long long l) { return force<newton, std::int64_t>(l); }
constexpr auto operator"" _q_N(long double l) { return force<newton, long double>(l); }
consteval auto operator"" _q_N(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return force<newton, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_N(long double l) { return force<newton, long double>(l); }
// yN
constexpr auto operator"" _q_yN(unsigned long long l) { return force<yoctonewton, std::int64_t>(l); }
constexpr auto operator"" _q_yN(long double l) { return force<yoctonewton, long double>(l); }
consteval auto operator"" _q_yN(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return force<yoctonewton, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_yN(long double l) { return force<yoctonewton, long double>(l); }
// zN
constexpr auto operator"" _q_zN(unsigned long long l) { return force<zeptonewton, std::int64_t>(l); }
constexpr auto operator"" _q_zN(long double l) { return force<zeptonewton, long double>(l); }
consteval auto operator"" _q_zN(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return force<zeptonewton, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_zN(long double l) { return force<zeptonewton, long double>(l); }
// aN
constexpr auto operator"" _q_aN(unsigned long long l) { return force<attonewton, std::int64_t>(l); }
constexpr auto operator"" _q_aN(long double l) { return force<attonewton, long double>(l); }
consteval auto operator"" _q_aN(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return force<attonewton, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_aN(long double l) { return force<attonewton, long double>(l); }
// fN
constexpr auto operator"" _q_fN(unsigned long long l) { return force<femtonewton, std::int64_t>(l); }
constexpr auto operator"" _q_fN(long double l) { return force<femtonewton, long double>(l); }
consteval auto operator"" _q_fN(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return force<femtonewton, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_fN(long double l) { return force<femtonewton, long double>(l); }
// pN
constexpr auto operator"" _q_pN(unsigned long long l) { return force<piconewton, std::int64_t>(l); }
constexpr auto operator"" _q_pN(long double l) { return force<piconewton, long double>(l); }
consteval auto operator"" _q_pN(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return force<piconewton, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_pN(long double l) { return force<piconewton, long double>(l); }
// nN
constexpr auto operator"" _q_nN(unsigned long long l) { return force<nanonewton, std::int64_t>(l); }
constexpr auto operator"" _q_nN(long double l) { return force<nanonewton, long double>(l); }
consteval auto operator"" _q_nN(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return force<nanonewton, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_nN(long double l) { return force<nanonewton, long double>(l); }
// uN
constexpr auto operator"" _q_uN(unsigned long long l) { return force<micronewton, std::int64_t>(l); }
constexpr auto operator"" _q_uN(long double l) { return force<micronewton, long double>(l); }
consteval auto operator"" _q_uN(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return force<micronewton, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_uN(long double l) { return force<micronewton, long double>(l); }
// mN
constexpr auto operator"" _q_mN(unsigned long long l) { return force<millinewton, std::int64_t>(l); }
constexpr auto operator"" _q_mN(long double l) { return force<millinewton, long double>(l); }
consteval auto operator"" _q_mN(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return force<millinewton, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_mN(long double l) { return force<millinewton, long double>(l); }
// cN
constexpr auto operator"" _q_cN(unsigned long long l) { return force<centinewton, std::int64_t>(l); }
constexpr auto operator"" _q_cN(long double l) { return force<centinewton, long double>(l); }
consteval auto operator"" _q_cN(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return force<centinewton, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_cN(long double l) { return force<centinewton, long double>(l); }
// dN
constexpr auto operator"" _q_dN(unsigned long long l) { return force<decinewton, std::int64_t>(l); }
constexpr auto operator"" _q_dN(long double l) { return force<decinewton, long double>(l); }
consteval auto operator"" _q_dN(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return force<decinewton, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_dN(long double l) { return force<decinewton, long double>(l); }
// daN
constexpr auto operator"" _q_daN(unsigned long long l) { return force<decanewton, std::int64_t>(l); }
constexpr auto operator"" _q_daN(long double l) { return force<decanewton, long double>(l); }
consteval auto operator"" _q_daN(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return force<decanewton, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_daN(long double l) { return force<decanewton, long double>(l); }
// hN
constexpr auto operator"" _q_hN(unsigned long long l) { return force<hectonewton, std::int64_t>(l); }
constexpr auto operator"" _q_hN(long double l) { return force<hectonewton, long double>(l); }
consteval auto operator"" _q_hN(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return force<hectonewton, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_hN(long double l) { return force<hectonewton, long double>(l); }
// kN
constexpr auto operator"" _q_kN(unsigned long long l) { return force<kilonewton, std::int64_t>(l); }
constexpr auto operator"" _q_kN(long double l) { return force<kilonewton, long double>(l); }
consteval auto operator"" _q_kN(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return force<kilonewton, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_kN(long double l) { return force<kilonewton, long double>(l); }
// MN
constexpr auto operator"" _q_MN(unsigned long long l) { return force<meganewton, std::int64_t>(l); }
constexpr auto operator"" _q_MN(long double l) { return force<meganewton, long double>(l); }
consteval auto operator"" _q_MN(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return force<meganewton, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_MN(long double l) { return force<meganewton, long double>(l); }
// GN
constexpr auto operator"" _q_GN(unsigned long long l) { return force<giganewton, std::int64_t>(l); }
constexpr auto operator"" _q_GN(long double l) { return force<giganewton, long double>(l); }
consteval auto operator"" _q_GN(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return force<giganewton, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_GN(long double l) { return force<giganewton, long double>(l); }
// TN
constexpr auto operator"" _q_TN(unsigned long long l) { return force<teranewton, std::int64_t>(l); }
constexpr auto operator"" _q_TN(long double l) { return force<teranewton, long double>(l); }
consteval auto operator"" _q_TN(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return force<teranewton, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_TN(long double l) { return force<teranewton, long double>(l); }
// PN
constexpr auto operator"" _q_PN(unsigned long long l) { return force<petanewton, std::int64_t>(l); }
constexpr auto operator"" _q_PN(long double l) { return force<petanewton, long double>(l); }
consteval auto operator"" _q_PN(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return force<petanewton, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_PN(long double l) { return force<petanewton, long double>(l); }
// EN
constexpr auto operator"" _q_EN(unsigned long long l) { return force<exanewton, std::int64_t>(l); }
constexpr auto operator"" _q_EN(long double l) { return force<exanewton, long double>(l); }
consteval auto operator"" _q_EN(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return force<exanewton, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_EN(long double l) { return force<exanewton, long double>(l); }
// ZN
constexpr auto operator"" _q_ZN(unsigned long long l) { return force<zettanewton, std::int64_t>(l); }
constexpr auto operator"" _q_ZN(long double l) { return force<zettanewton, long double>(l); }
consteval auto operator"" _q_ZN(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return force<zettanewton, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_ZN(long double l) { return force<zettanewton, long double>(l); }
// YN
constexpr auto operator"" _q_YN(unsigned long long l) { return force<yottanewton, std::int64_t>(l); }
constexpr auto operator"" _q_YN(long double l) { return force<yottanewton, long double>(l); }
consteval auto operator"" _q_YN(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return force<yottanewton, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_YN(long double l) { return force<yottanewton, long double>(l); }
} // namespace literals

View File

@ -54,72 +54,72 @@ using frequency = quantity<dim_frequency, U, Rep>;
inline namespace literals {
// Hz
constexpr auto operator"" _q_Hz(unsigned long long l) { return frequency<hertz, std::int64_t>(l); }
constexpr auto operator"" _q_Hz(long double l) { return frequency<hertz, long double>(l); }
consteval auto operator"" _q_Hz(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return frequency<hertz, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_Hz(long double l) { return frequency<hertz, long double>(l); }
// yHz
constexpr auto operator"" _q_yHz(unsigned long long l) { return frequency<yoctohertz, std::int64_t>(l); }
constexpr auto operator"" _q_yHz(long double l) { return frequency<yoctohertz, long double>(l); }
consteval auto operator"" _q_yHz(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return frequency<yoctohertz, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_yHz(long double l) { return frequency<yoctohertz, long double>(l); }
// zHz
constexpr auto operator"" _q_zHz(unsigned long long l) { return frequency<zeptohertz, std::int64_t>(l); }
constexpr auto operator"" _q_zHz(long double l) { return frequency<zeptohertz, long double>(l); }
consteval auto operator"" _q_zHz(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return frequency<zeptohertz, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_zHz(long double l) { return frequency<zeptohertz, long double>(l); }
// aHz
constexpr auto operator"" _q_aHz(unsigned long long l) { return frequency<attohertz, std::int64_t>(l); }
constexpr auto operator"" _q_aHz(long double l) { return frequency<attohertz, long double>(l); }
consteval auto operator"" _q_aHz(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return frequency<attohertz, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_aHz(long double l) { return frequency<attohertz, long double>(l); }
// fHz
constexpr auto operator"" _q_fHz(unsigned long long l) { return frequency<femtohertz, std::int64_t>(l); }
constexpr auto operator"" _q_fHz(long double l) { return frequency<femtohertz, long double>(l); }
consteval auto operator"" _q_fHz(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return frequency<femtohertz, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_fHz(long double l) { return frequency<femtohertz, long double>(l); }
// pHz
constexpr auto operator"" _q_pHz(unsigned long long l) { return frequency<picohertz, std::int64_t>(l); }
constexpr auto operator"" _q_pHz(long double l) { return frequency<picohertz, long double>(l); }
consteval auto operator"" _q_pHz(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return frequency<picohertz, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_pHz(long double l) { return frequency<picohertz, long double>(l); }
// nHz
constexpr auto operator"" _q_nHz(unsigned long long l) { return frequency<nanohertz, std::int64_t>(l); }
constexpr auto operator"" _q_nHz(long double l) { return frequency<nanohertz, long double>(l); }
consteval auto operator"" _q_nHz(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return frequency<nanohertz, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_nHz(long double l) { return frequency<nanohertz, long double>(l); }
// uHz
constexpr auto operator"" _q_uHz(unsigned long long l) { return frequency<microhertz, std::int64_t>(l); }
constexpr auto operator"" _q_uHz(long double l) { return frequency<microhertz, long double>(l); }
consteval auto operator"" _q_uHz(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return frequency<microhertz, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_uHz(long double l) { return frequency<microhertz, long double>(l); }
// mHz
constexpr auto operator"" _q_mHz(unsigned long long l) { return frequency<millihertz, std::int64_t>(l); }
constexpr auto operator"" _q_mHz(long double l) { return frequency<millihertz, long double>(l); }
consteval auto operator"" _q_mHz(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return frequency<millihertz, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_mHz(long double l) { return frequency<millihertz, long double>(l); }
// kHz
constexpr auto operator"" _q_kHz(unsigned long long l) { return frequency<kilohertz, std::int64_t>(l); }
constexpr auto operator"" _q_kHz(long double l) { return frequency<kilohertz, long double>(l); }
consteval auto operator"" _q_kHz(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return frequency<kilohertz, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_kHz(long double l) { return frequency<kilohertz, long double>(l); }
// MHz
constexpr auto operator"" _q_MHz(unsigned long long l) { return frequency<megahertz, std::int64_t>(l); }
constexpr auto operator"" _q_MHz(long double l) { return frequency<megahertz, long double>(l); }
consteval auto operator"" _q_MHz(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return frequency<megahertz, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_MHz(long double l) { return frequency<megahertz, long double>(l); }
// GHz
constexpr auto operator"" _q_GHz(unsigned long long l) { return frequency<gigahertz, std::int64_t>(l); }
constexpr auto operator"" _q_GHz(long double l) { return frequency<gigahertz, long double>(l); }
consteval auto operator"" _q_GHz(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return frequency<gigahertz, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_GHz(long double l) { return frequency<gigahertz, long double>(l); }
// THz
constexpr auto operator"" _q_THz(unsigned long long l) { return frequency<terahertz, std::int64_t>(l); }
constexpr auto operator"" _q_THz(long double l) { return frequency<terahertz, long double>(l); }
consteval auto operator"" _q_THz(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return frequency<terahertz, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_THz(long double l) { return frequency<terahertz, long double>(l); }
// PHz
constexpr auto operator"" _q_PHz(unsigned long long l) { return frequency<petahertz, std::int64_t>(l); }
constexpr auto operator"" _q_PHz(long double l) { return frequency<petahertz, long double>(l); }
consteval auto operator"" _q_PHz(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return frequency<petahertz, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_PHz(long double l) { return frequency<petahertz, long double>(l); }
// EHz
constexpr auto operator"" _q_EHz(unsigned long long l) { return frequency<exahertz, std::int64_t>(l); }
constexpr auto operator"" _q_EHz(long double l) { return frequency<exahertz, long double>(l); }
consteval auto operator"" _q_EHz(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return frequency<exahertz, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_EHz(long double l) { return frequency<exahertz, long double>(l); }
// ZHz
constexpr auto operator"" _q_ZHz(unsigned long long l) { return frequency<zettahertz, std::int64_t>(l); }
constexpr auto operator"" _q_ZHz(long double l) { return frequency<zettahertz, long double>(l); }
consteval auto operator"" _q_ZHz(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return frequency<zettahertz, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_ZHz(long double l) { return frequency<zettahertz, long double>(l); }
// YHz
constexpr auto operator"" _q_YHz(unsigned long long l) { return frequency<yottahertz, std::int64_t>(l); }
constexpr auto operator"" _q_YHz(long double l) { return frequency<yottahertz, long double>(l); }
consteval auto operator"" _q_YHz(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return frequency<yottahertz, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_YHz(long double l) { return frequency<yottahertz, long double>(l); }
} // namespace literals

View File

@ -51,16 +51,16 @@ using molar_heat_capacity = quantity<dim_molar_heat_capacity, U, Rep>;
inline namespace literals {
// J/K
constexpr auto operator"" _q_J_per_K(unsigned long long l) { return heat_capacity<joule_per_kelvin, std::int64_t>(l); }
constexpr auto operator"" _q_J_per_K(long double l) { return heat_capacity<joule_per_kelvin, long double>(l); }
consteval auto operator"" _q_J_per_K(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return heat_capacity<joule_per_kelvin, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_J_per_K(long double l) { return heat_capacity<joule_per_kelvin, long double>(l); }
// J/(kg·K)
constexpr auto operator"" _q_J_per_kg_K(unsigned long long l) { return specific_heat_capacity<joule_per_kilogram_kelvin, std::int64_t>(l); }
constexpr auto operator"" _q_J_per_kg_K(long double l) { return specific_heat_capacity<joule_per_kilogram_kelvin, long double>(l); }
consteval auto operator"" _q_J_per_kg_K(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return specific_heat_capacity<joule_per_kilogram_kelvin, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_J_per_kg_K(long double l) { return specific_heat_capacity<joule_per_kilogram_kelvin, long double>(l); }
// J/(mol·K)
constexpr auto operator"" _q_J_per_mol_K(unsigned long long l) { return molar_heat_capacity<joule_per_mole_kelvin, std::int64_t>(l); }
constexpr auto operator"" _q_J_per_mol_K(long double l) { return molar_heat_capacity<joule_per_mole_kelvin, long double>(l); }
consteval auto operator"" _q_J_per_mol_K(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return molar_heat_capacity<joule_per_mole_kelvin, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_J_per_mol_K(long double l) { return molar_heat_capacity<joule_per_mole_kelvin, long double>(l); }
} // namespace literals

View File

@ -56,72 +56,72 @@ using inductance = quantity<dim_inductance, U, Rep>;
inline namespace literals {
// H
constexpr auto operator"" _q_H(unsigned long long l) { return inductance<henry, std::int64_t>(l); }
constexpr auto operator"" _q_H(long double l) { return inductance<henry, long double>(l); }
consteval auto operator"" _q_H(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return inductance<henry, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_H(long double l) { return inductance<henry, long double>(l); }
// yH
constexpr auto operator"" _q_yH(unsigned long long l) { return inductance<yoctohenry, std::int64_t>(l); }
constexpr auto operator"" _q_yH(long double l) { return inductance<yoctohenry, long double>(l); }
consteval auto operator"" _q_yH(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return inductance<yoctohenry, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_yH(long double l) { return inductance<yoctohenry, long double>(l); }
// zH
constexpr auto operator"" _q_zH(unsigned long long l) { return inductance<zeptohenry, std::int64_t>(l); }
constexpr auto operator"" _q_zH(long double l) { return inductance<zeptohenry, long double>(l); }
consteval auto operator"" _q_zH(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return inductance<zeptohenry, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_zH(long double l) { return inductance<zeptohenry, long double>(l); }
// aH
constexpr auto operator"" _q_aH(unsigned long long l) { return inductance<attohenry, std::int64_t>(l); }
constexpr auto operator"" _q_aH(long double l) { return inductance<attohenry, long double>(l); }
consteval auto operator"" _q_aH(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return inductance<attohenry, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_aH(long double l) { return inductance<attohenry, long double>(l); }
// fH
constexpr auto operator"" _q_fH(unsigned long long l) { return inductance<femtohenry, std::int64_t>(l); }
constexpr auto operator"" _q_fH(long double l) { return inductance<femtohenry, long double>(l); }
consteval auto operator"" _q_fH(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return inductance<femtohenry, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_fH(long double l) { return inductance<femtohenry, long double>(l); }
// pH
constexpr auto operator"" _q_pH(unsigned long long l) { return inductance<picohenry, std::int64_t>(l); }
constexpr auto operator"" _q_pH(long double l) { return inductance<picohenry, long double>(l); }
consteval auto operator"" _q_pH(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return inductance<picohenry, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_pH(long double l) { return inductance<picohenry, long double>(l); }
// nH
constexpr auto operator"" _q_nH(unsigned long long l) { return inductance<nanohenry, std::int64_t>(l); }
constexpr auto operator"" _q_nH(long double l) { return inductance<nanohenry, long double>(l); }
consteval auto operator"" _q_nH(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return inductance<nanohenry, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_nH(long double l) { return inductance<nanohenry, long double>(l); }
// µH
constexpr auto operator"" _q_uH(unsigned long long l) { return inductance<microhenry, std::int64_t>(l); }
constexpr auto operator"" _q_uH(long double l) { return inductance<microhenry, long double>(l); }
consteval auto operator"" _q_uH(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return inductance<microhenry, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_uH(long double l) { return inductance<microhenry, long double>(l); }
// mH
constexpr auto operator"" _q_mH(unsigned long long l) { return inductance<millihenry, std::int64_t>(l); }
constexpr auto operator"" _q_mH(long double l) { return inductance<millihenry, long double>(l); }
consteval auto operator"" _q_mH(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return inductance<millihenry, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_mH(long double l) { return inductance<millihenry, long double>(l); }
// kH
constexpr auto operator"" _q_kH(unsigned long long l) { return inductance<kilohenry, std::int64_t>(l); }
constexpr auto operator"" _q_kH(long double l) { return inductance<kilohenry, long double>(l); }
consteval auto operator"" _q_kH(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return inductance<kilohenry, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_kH(long double l) { return inductance<kilohenry, long double>(l); }
// MH
constexpr auto operator"" _q_MH(unsigned long long l) { return inductance<megahenry, std::int64_t>(l); }
constexpr auto operator"" _q_MH(long double l) { return inductance<megahenry, long double>(l); }
consteval auto operator"" _q_MH(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return inductance<megahenry, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_MH(long double l) { return inductance<megahenry, long double>(l); }
// GH
constexpr auto operator"" _q_GH(unsigned long long l) { return inductance<gigahenry, std::int64_t>(l); }
constexpr auto operator"" _q_GH(long double l) { return inductance<gigahenry, long double>(l); }
consteval auto operator"" _q_GH(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return inductance<gigahenry, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_GH(long double l) { return inductance<gigahenry, long double>(l); }
// TH
constexpr auto operator"" _q_TH(unsigned long long l) { return inductance<terahenry, std::int64_t>(l); }
constexpr auto operator"" _q_TH(long double l) { return inductance<terahenry, long double>(l); }
consteval auto operator"" _q_TH(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return inductance<terahenry, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_TH(long double l) { return inductance<terahenry, long double>(l); }
// PH
constexpr auto operator"" _q_PH(unsigned long long l) { return inductance<petahenry, std::int64_t>(l); }
constexpr auto operator"" _q_PH(long double l) { return inductance<petahenry, long double>(l); }
consteval auto operator"" _q_PH(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return inductance<petahenry, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_PH(long double l) { return inductance<petahenry, long double>(l); }
// EH
constexpr auto operator"" _q_EH(unsigned long long l) { return inductance<exahenry, std::int64_t>(l); }
constexpr auto operator"" _q_EH(long double l) { return inductance<exahenry, long double>(l); }
consteval auto operator"" _q_EH(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return inductance<exahenry, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_EH(long double l) { return inductance<exahenry, long double>(l); }
// ZH
constexpr auto operator"" _q_ZH(unsigned long long l) { return inductance<zettahenry, std::int64_t>(l); }
constexpr auto operator"" _q_ZH(long double l) { return inductance<zettahenry, long double>(l); }
consteval auto operator"" _q_ZH(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return inductance<zettahenry, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_ZH(long double l) { return inductance<zettahenry, long double>(l); }
// YH
constexpr auto operator"" _q_YH(unsigned long long l) { return inductance<yottahenry, std::int64_t>(l); }
constexpr auto operator"" _q_YH(long double l) { return inductance<yottahenry, long double>(l); }
consteval auto operator"" _q_YH(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return inductance<yottahenry, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_YH(long double l) { return inductance<yottahenry, long double>(l); }
} // namespace literals

View File

@ -38,8 +38,8 @@ using luminance = quantity<dim_luminance, U, Rep>;
inline namespace literals {
// cd/m²
constexpr auto operator"" _q_cd_per_m2(unsigned long long l) { return luminance<candela_per_metre_sq, std::int64_t>(l); }
constexpr auto operator"" _q_cd_per_m2(long double l) { return luminance<candela_per_metre_sq, long double>(l); }
consteval auto operator"" _q_cd_per_m2(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return luminance<candela_per_metre_sq, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_cd_per_m2(long double l) { return luminance<candela_per_metre_sq, long double>(l); }
} // namespace literals

View File

@ -56,72 +56,72 @@ using magnetic_flux = quantity<dim_magnetic_flux, U, Rep>;
inline namespace literals {
// Wb
constexpr auto operator"" _q_Wb(unsigned long long l) { return magnetic_flux<weber, std::int64_t>(l); }
constexpr auto operator"" _q_Wb(long double l) { return magnetic_flux<weber, long double>(l); }
consteval auto operator"" _q_Wb(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return magnetic_flux<weber, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_Wb(long double l) { return magnetic_flux<weber, long double>(l); }
// yWb
constexpr auto operator"" _q_yWb(unsigned long long l) { return magnetic_flux<yoctoweber, std::int64_t>(l); }
constexpr auto operator"" _q_yWb(long double l) { return magnetic_flux<yoctoweber, long double>(l); }
consteval auto operator"" _q_yWb(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return magnetic_flux<yoctoweber, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_yWb(long double l) { return magnetic_flux<yoctoweber, long double>(l); }
// zWb
constexpr auto operator"" _q_zWb(unsigned long long l) { return magnetic_flux<zeptoweber, std::int64_t>(l); }
constexpr auto operator"" _q_zWb(long double l) { return magnetic_flux<zeptoweber, long double>(l); }
consteval auto operator"" _q_zWb(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return magnetic_flux<zeptoweber, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_zWb(long double l) { return magnetic_flux<zeptoweber, long double>(l); }
// aWb
constexpr auto operator"" _q_aWb(unsigned long long l) { return magnetic_flux<attoweber, std::int64_t>(l); }
constexpr auto operator"" _q_aWb(long double l) { return magnetic_flux<attoweber, long double>(l); }
consteval auto operator"" _q_aWb(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return magnetic_flux<attoweber, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_aWb(long double l) { return magnetic_flux<attoweber, long double>(l); }
// fWb
constexpr auto operator"" _q_fWb(unsigned long long l) { return magnetic_flux<femtoweber, std::int64_t>(l); }
constexpr auto operator"" _q_fWb(long double l) { return magnetic_flux<femtoweber, long double>(l); }
consteval auto operator"" _q_fWb(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return magnetic_flux<femtoweber, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_fWb(long double l) { return magnetic_flux<femtoweber, long double>(l); }
// pWb
constexpr auto operator"" _q_pWb(unsigned long long l) { return magnetic_flux<picoweber, std::int64_t>(l); }
constexpr auto operator"" _q_pWb(long double l) { return magnetic_flux<picoweber, long double>(l); }
consteval auto operator"" _q_pWb(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return magnetic_flux<picoweber, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_pWb(long double l) { return magnetic_flux<picoweber, long double>(l); }
// nWb
constexpr auto operator"" _q_nWb(unsigned long long l) { return magnetic_flux<nanoweber, std::int64_t>(l); }
constexpr auto operator"" _q_nWb(long double l) { return magnetic_flux<nanoweber, long double>(l); }
consteval auto operator"" _q_nWb(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return magnetic_flux<nanoweber, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_nWb(long double l) { return magnetic_flux<nanoweber, long double>(l); }
// µWb
constexpr auto operator"" _q_uWb(unsigned long long l) { return magnetic_flux<microweber, std::int64_t>(l); }
constexpr auto operator"" _q_uWb(long double l) { return magnetic_flux<microweber, long double>(l); }
consteval auto operator"" _q_uWb(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return magnetic_flux<microweber, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_uWb(long double l) { return magnetic_flux<microweber, long double>(l); }
// mWb
constexpr auto operator"" _q_mWb(unsigned long long l) { return magnetic_flux<milliweber, std::int64_t>(l); }
constexpr auto operator"" _q_mWb(long double l) { return magnetic_flux<milliweber, long double>(l); }
consteval auto operator"" _q_mWb(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return magnetic_flux<milliweber, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_mWb(long double l) { return magnetic_flux<milliweber, long double>(l); }
// kWb
constexpr auto operator"" _q_kWb(unsigned long long l) { return magnetic_flux<kiloweber, std::int64_t>(l); }
constexpr auto operator"" _q_kWb(long double l) { return magnetic_flux<kiloweber, long double>(l); }
consteval auto operator"" _q_kWb(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return magnetic_flux<kiloweber, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_kWb(long double l) { return magnetic_flux<kiloweber, long double>(l); }
// MWb
constexpr auto operator"" _q_MWb(unsigned long long l) { return magnetic_flux<megaweber, std::int64_t>(l); }
constexpr auto operator"" _q_MWb(long double l) { return magnetic_flux<megaweber, long double>(l); }
consteval auto operator"" _q_MWb(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return magnetic_flux<megaweber, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_MWb(long double l) { return magnetic_flux<megaweber, long double>(l); }
// GWb
constexpr auto operator"" _q_GWb(unsigned long long l) { return magnetic_flux<gigaweber, std::int64_t>(l); }
constexpr auto operator"" _q_GWb(long double l) { return magnetic_flux<gigaweber, long double>(l); }
consteval auto operator"" _q_GWb(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return magnetic_flux<gigaweber, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_GWb(long double l) { return magnetic_flux<gigaweber, long double>(l); }
// TWb
constexpr auto operator"" _q_TWb(unsigned long long l) { return magnetic_flux<teraweber, std::int64_t>(l); }
constexpr auto operator"" _q_TWb(long double l) { return magnetic_flux<teraweber, long double>(l); }
consteval auto operator"" _q_TWb(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return magnetic_flux<teraweber, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_TWb(long double l) { return magnetic_flux<teraweber, long double>(l); }
// PWb
constexpr auto operator"" _q_PWb(unsigned long long l) { return magnetic_flux<petaweber, std::int64_t>(l); }
constexpr auto operator"" _q_PWb(long double l) { return magnetic_flux<petaweber, long double>(l); }
consteval auto operator"" _q_PWb(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return magnetic_flux<petaweber, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_PWb(long double l) { return magnetic_flux<petaweber, long double>(l); }
// EWb
constexpr auto operator"" _q_EWb(unsigned long long l) { return magnetic_flux<exaweber, std::int64_t>(l); }
constexpr auto operator"" _q_EWb(long double l) { return magnetic_flux<exaweber, long double>(l); }
consteval auto operator"" _q_EWb(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return magnetic_flux<exaweber, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_EWb(long double l) { return magnetic_flux<exaweber, long double>(l); }
// ZWb
constexpr auto operator"" _q_ZWb(unsigned long long l) { return magnetic_flux<zettaweber, std::int64_t>(l); }
constexpr auto operator"" _q_ZWb(long double l) { return magnetic_flux<zettaweber, long double>(l); }
consteval auto operator"" _q_ZWb(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return magnetic_flux<zettaweber, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_ZWb(long double l) { return magnetic_flux<zettaweber, long double>(l); }
// YWb
constexpr auto operator"" _q_YWb(unsigned long long l) { return magnetic_flux<yottaweber, std::int64_t>(l); }
constexpr auto operator"" _q_YWb(long double l) { return magnetic_flux<yottaweber, long double>(l); }
consteval auto operator"" _q_YWb(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return magnetic_flux<yottaweber, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_YWb(long double l) { return magnetic_flux<yottaweber, long double>(l); }
} // namespace literals

View File

@ -60,76 +60,76 @@ using magnetic_induction = quantity<dim_magnetic_induction, U, Rep>;
inline namespace literals {
// T
constexpr auto operator"" _q_T(unsigned long long l) { return magnetic_induction<tesla, std::int64_t>(l); }
constexpr auto operator"" _q_T(long double l) { return magnetic_induction<tesla, long double>(l); }
consteval auto operator"" _q_T(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return magnetic_induction<tesla, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_T(long double l) { return magnetic_induction<tesla, long double>(l); }
// yT
constexpr auto operator"" _q_yT(unsigned long long l) { return magnetic_induction<yoctotesla, std::int64_t>(l); }
constexpr auto operator"" _q_yT(long double l) { return magnetic_induction<yoctotesla, long double>(l); }
consteval auto operator"" _q_yT(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return magnetic_induction<yoctotesla, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_yT(long double l) { return magnetic_induction<yoctotesla, long double>(l); }
// zT
constexpr auto operator"" _q_zT(unsigned long long l) { return magnetic_induction<zeptotesla, std::int64_t>(l); }
constexpr auto operator"" _q_zT(long double l) { return magnetic_induction<zeptotesla, long double>(l); }
consteval auto operator"" _q_zT(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return magnetic_induction<zeptotesla, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_zT(long double l) { return magnetic_induction<zeptotesla, long double>(l); }
// aT
constexpr auto operator"" _q_aT(unsigned long long l) { return magnetic_induction<attotesla, std::int64_t>(l); }
constexpr auto operator"" _q_aT(long double l) { return magnetic_induction<attotesla, long double>(l); }
consteval auto operator"" _q_aT(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return magnetic_induction<attotesla, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_aT(long double l) { return magnetic_induction<attotesla, long double>(l); }
// fT
constexpr auto operator"" _q_fT(unsigned long long l) { return magnetic_induction<femtotesla, std::int64_t>(l); }
constexpr auto operator"" _q_fT(long double l) { return magnetic_induction<femtotesla, long double>(l); }
consteval auto operator"" _q_fT(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return magnetic_induction<femtotesla, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_fT(long double l) { return magnetic_induction<femtotesla, long double>(l); }
// pT
constexpr auto operator"" _q_pT(unsigned long long l) { return magnetic_induction<picotesla, std::int64_t>(l); }
constexpr auto operator"" _q_pT(long double l) { return magnetic_induction<picotesla, long double>(l); }
consteval auto operator"" _q_pT(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return magnetic_induction<picotesla, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_pT(long double l) { return magnetic_induction<picotesla, long double>(l); }
// nT
constexpr auto operator"" _q_nT(unsigned long long l) { return magnetic_induction<nanotesla, std::int64_t>(l); }
constexpr auto operator"" _q_nT(long double l) { return magnetic_induction<nanotesla, long double>(l); }
consteval auto operator"" _q_nT(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return magnetic_induction<nanotesla, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_nT(long double l) { return magnetic_induction<nanotesla, long double>(l); }
// µT
constexpr auto operator"" _q_uT(unsigned long long l) { return magnetic_induction<microtesla, std::int64_t>(l); }
constexpr auto operator"" _q_uT(long double l) { return magnetic_induction<microtesla, long double>(l); }
consteval auto operator"" _q_uT(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return magnetic_induction<microtesla, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_uT(long double l) { return magnetic_induction<microtesla, long double>(l); }
// mT
constexpr auto operator"" _q_mT(unsigned long long l) { return magnetic_induction<millitesla, std::int64_t>(l); }
constexpr auto operator"" _q_mT(long double l) { return magnetic_induction<millitesla, long double>(l); }
consteval auto operator"" _q_mT(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return magnetic_induction<millitesla, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_mT(long double l) { return magnetic_induction<millitesla, long double>(l); }
// kT
constexpr auto operator"" _q_kT(unsigned long long l) { return magnetic_induction<kilotesla, std::int64_t>(l); }
constexpr auto operator"" _q_kT(long double l) { return magnetic_induction<kilotesla, long double>(l); }
consteval auto operator"" _q_kT(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return magnetic_induction<kilotesla, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_kT(long double l) { return magnetic_induction<kilotesla, long double>(l); }
// MT
constexpr auto operator"" _q_MT(unsigned long long l) { return magnetic_induction<megatesla, std::int64_t>(l); }
constexpr auto operator"" _q_MT(long double l) { return magnetic_induction<megatesla, long double>(l); }
consteval auto operator"" _q_MT(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return magnetic_induction<megatesla, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_MT(long double l) { return magnetic_induction<megatesla, long double>(l); }
// GT
constexpr auto operator"" _q_GT(unsigned long long l) { return magnetic_induction<gigatesla, std::int64_t>(l); }
constexpr auto operator"" _q_GT(long double l) { return magnetic_induction<gigatesla, long double>(l); }
consteval auto operator"" _q_GT(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return magnetic_induction<gigatesla, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_GT(long double l) { return magnetic_induction<gigatesla, long double>(l); }
// TT
constexpr auto operator"" _q_TT(unsigned long long l) { return magnetic_induction<teratesla, std::int64_t>(l); }
constexpr auto operator"" _q_TT(long double l) { return magnetic_induction<teratesla, long double>(l); }
consteval auto operator"" _q_TT(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return magnetic_induction<teratesla, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_TT(long double l) { return magnetic_induction<teratesla, long double>(l); }
// PT
constexpr auto operator"" _q_PT(unsigned long long l) { return magnetic_induction<petatesla, std::int64_t>(l); }
constexpr auto operator"" _q_PT(long double l) { return magnetic_induction<petatesla, long double>(l); }
consteval auto operator"" _q_PT(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return magnetic_induction<petatesla, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_PT(long double l) { return magnetic_induction<petatesla, long double>(l); }
// ET
constexpr auto operator"" _q_ET(unsigned long long l) { return magnetic_induction<exatesla, std::int64_t>(l); }
constexpr auto operator"" _q_ET(long double l) { return magnetic_induction<exatesla, long double>(l); }
consteval auto operator"" _q_ET(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return magnetic_induction<exatesla, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_ET(long double l) { return magnetic_induction<exatesla, long double>(l); }
// ZT
constexpr auto operator"" _q_ZT(unsigned long long l) { return magnetic_induction<zettatesla, std::int64_t>(l); }
constexpr auto operator"" _q_ZT(long double l) { return magnetic_induction<zettatesla, long double>(l); }
consteval auto operator"" _q_ZT(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return magnetic_induction<zettatesla, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_ZT(long double l) { return magnetic_induction<zettatesla, long double>(l); }
// YT
constexpr auto operator"" _q_YT(unsigned long long l) { return magnetic_induction<yottatesla, std::int64_t>(l); }
constexpr auto operator"" _q_YT(long double l) { return magnetic_induction<yottatesla, long double>(l); }
consteval auto operator"" _q_YT(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return magnetic_induction<yottatesla, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_YT(long double l) { return magnetic_induction<yottatesla, long double>(l); }
// G
constexpr auto operator"" _q_G(unsigned long long l) { return magnetic_induction<gauss, std::int64_t>(l); }
constexpr auto operator"" _q_G(long double l) { return magnetic_induction<gauss, long double>(l); }
consteval auto operator"" _q_G(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return magnetic_induction<gauss, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_G(long double l) { return magnetic_induction<gauss, long double>(l); }
} // namespace literals

View File

@ -40,8 +40,8 @@ using molar_energy = quantity<dim_molar_energy, U, Rep>;
inline namespace literals {
// J/mol
constexpr auto operator"" _q_J_per_mol(unsigned long long l) { return molar_energy<joule_per_mole, std::int64_t>(l); }
constexpr auto operator"" _q_J_per_mol(long double l) { return molar_energy<joule_per_mole, long double>(l); }
consteval auto operator"" _q_J_per_mol(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return molar_energy<joule_per_mole, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_J_per_mol(long double l) { return molar_energy<joule_per_mole, long double>(l); }
} // namespace literals

View File

@ -38,8 +38,8 @@ using momentum = quantity<dim_momentum, U, Rep>;
inline namespace literals {
// kg*m/s
constexpr auto operator"" _q_kg_m_per_s(unsigned long long l) { return momentum<kilogram_metre_per_second, std::int64_t>(l); }
constexpr auto operator"" _q_kg_m_per_s(long double l) { return momentum<kilogram_metre_per_second, long double>(l); }
consteval auto operator"" _q_kg_m_per_s(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return momentum<kilogram_metre_per_second, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_kg_m_per_s(long double l) { return momentum<kilogram_metre_per_second, long double>(l); }
} // namespace literals

View File

@ -39,8 +39,8 @@ using permeability = quantity<dim_permeability, U, Rep>;
inline namespace literals {
// H/m
constexpr auto operator"" _q_H_per_m(unsigned long long l) { return permeability<henry_per_metre, std::int64_t>(l); }
constexpr auto operator"" _q_H_per_m(long double l) { return permeability<henry_per_metre, long double>(l); }
consteval auto operator"" _q_H_per_m(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return permeability<henry_per_metre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_H_per_m(long double l) { return permeability<henry_per_metre, long double>(l); }
} // namespace literals

View File

@ -39,8 +39,8 @@ using permittivity = quantity<dim_permittivity, U, Rep>;
inline namespace literals {
// F/m
constexpr auto operator"" _q_F_per_m(unsigned long long l) { return permittivity<farad_per_metre, std::int64_t>(l); }
constexpr auto operator"" _q_F_per_m(long double l) { return permittivity<farad_per_metre, long double>(l); }
consteval auto operator"" _q_F_per_m(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return permittivity<farad_per_metre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_F_per_m(long double l) { return permittivity<farad_per_metre, long double>(l); }
} // namespace literals

View File

@ -55,72 +55,72 @@ using power = quantity<dim_power, U, Rep>;
inline namespace literals {
// W
constexpr auto operator"" _q_W(unsigned long long l) { return power<watt, std::int64_t>(l); }
constexpr auto operator"" _q_W(long double l) { return power<watt, long double>(l); }
consteval auto operator"" _q_W(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return power<watt, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_W(long double l) { return power<watt, long double>(l); }
// yW
constexpr auto operator"" _q_yW(unsigned long long l) { return power<yoctowatt, std::int64_t>(l); }
constexpr auto operator"" _q_yW(long double l) { return power<yoctowatt, long double>(l); }
consteval auto operator"" _q_yW(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return power<yoctowatt, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_yW(long double l) { return power<yoctowatt, long double>(l); }
// zW
constexpr auto operator"" _q_zW(unsigned long long l) { return power<zeptowatt, std::int64_t>(l); }
constexpr auto operator"" _q_zW(long double l) { return power<zeptowatt, long double>(l); }
consteval auto operator"" _q_zW(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return power<zeptowatt, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_zW(long double l) { return power<zeptowatt, long double>(l); }
// aW
constexpr auto operator"" _q_aW(unsigned long long l) { return power<attowatt, std::int64_t>(l); }
constexpr auto operator"" _q_aW(long double l) { return power<attowatt, long double>(l); }
consteval auto operator"" _q_aW(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return power<attowatt, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_aW(long double l) { return power<attowatt, long double>(l); }
// fW
constexpr auto operator"" _q_fW(unsigned long long l) { return power<femtowatt, std::int64_t>(l); }
constexpr auto operator"" _q_fW(long double l) { return power<femtowatt, long double>(l); }
consteval auto operator"" _q_fW(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return power<femtowatt, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_fW(long double l) { return power<femtowatt, long double>(l); }
// pW
constexpr auto operator"" _q_pW(unsigned long long l) { return power<picowatt, std::int64_t>(l); }
constexpr auto operator"" _q_pW(long double l) { return power<picowatt, long double>(l); }
consteval auto operator"" _q_pW(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return power<picowatt, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_pW(long double l) { return power<picowatt, long double>(l); }
// nW
constexpr auto operator"" _q_nW(unsigned long long l) { return power<nanowatt, std::int64_t>(l); }
constexpr auto operator"" _q_nW(long double l) { return power<nanowatt, long double>(l); }
consteval auto operator"" _q_nW(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return power<nanowatt, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_nW(long double l) { return power<nanowatt, long double>(l); }
// uW
constexpr auto operator"" _q_uW(unsigned long long l) { return power<microwatt, std::int64_t>(l); }
constexpr auto operator"" _q_uW(long double l) { return power<microwatt, long double>(l); }
consteval auto operator"" _q_uW(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return power<microwatt, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_uW(long double l) { return power<microwatt, long double>(l); }
// mW
constexpr auto operator"" _q_mW(unsigned long long l) { return power<milliwatt, std::int64_t>(l); }
constexpr auto operator"" _q_mW(long double l) { return power<milliwatt, long double>(l); }
consteval auto operator"" _q_mW(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return power<milliwatt, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_mW(long double l) { return power<milliwatt, long double>(l); }
// kW
constexpr auto operator"" _q_kW(unsigned long long l) { return power<kilowatt, std::int64_t>(l); }
constexpr auto operator"" _q_kW(long double l) { return power<kilowatt, long double>(l); }
consteval auto operator"" _q_kW(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return power<kilowatt, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_kW(long double l) { return power<kilowatt, long double>(l); }
// MW
constexpr auto operator"" _q_MW(unsigned long long l) { return power<megawatt, std::int64_t>(l); }
constexpr auto operator"" _q_MW(long double l) { return power<megawatt, long double>(l); }
consteval auto operator"" _q_MW(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return power<megawatt, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_MW(long double l) { return power<megawatt, long double>(l); }
// GW
constexpr auto operator"" _q_GW(unsigned long long l) { return power<gigawatt, std::int64_t>(l); }
constexpr auto operator"" _q_GW(long double l) { return power<gigawatt, long double>(l); }
consteval auto operator"" _q_GW(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return power<gigawatt, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_GW(long double l) { return power<gigawatt, long double>(l); }
// TW
constexpr auto operator"" _q_TW(unsigned long long l) { return power<terawatt, std::int64_t>(l); }
constexpr auto operator"" _q_TW(long double l) { return power<terawatt, long double>(l); }
consteval auto operator"" _q_TW(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return power<terawatt, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_TW(long double l) { return power<terawatt, long double>(l); }
// PW
constexpr auto operator"" _q_PW(unsigned long long l) { return power<petawatt, std::int64_t>(l); }
constexpr auto operator"" _q_PW(long double l) { return power<petawatt, long double>(l); }
consteval auto operator"" _q_PW(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return power<petawatt, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_PW(long double l) { return power<petawatt, long double>(l); }
// EW
constexpr auto operator"" _q_EW(unsigned long long l) { return power<exawatt, std::int64_t>(l); }
constexpr auto operator"" _q_EW(long double l) { return power<exawatt, long double>(l); }
consteval auto operator"" _q_EW(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return power<exawatt, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_EW(long double l) { return power<exawatt, long double>(l); }
// ZW
constexpr auto operator"" _q_ZW(unsigned long long l) { return power<zettawatt, std::int64_t>(l); }
constexpr auto operator"" _q_ZW(long double l) { return power<zettawatt, long double>(l); }
consteval auto operator"" _q_ZW(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return power<zettawatt, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_ZW(long double l) { return power<zettawatt, long double>(l); }
// YW
constexpr auto operator"" _q_YW(unsigned long long l) { return power<yottawatt, std::int64_t>(l); }
constexpr auto operator"" _q_YW(long double l) { return power<yottawatt, long double>(l); }
consteval auto operator"" _q_YW(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return power<yottawatt, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_YW(long double l) { return power<yottawatt, long double>(l); }
} // namespace literals

View File

@ -60,88 +60,88 @@ using pressure = quantity<dim_pressure, U, Rep>;
inline namespace literals {
// Pa
constexpr auto operator"" _q_Pa(unsigned long long l) { return pressure<pascal, std::int64_t>(l); }
constexpr auto operator"" _q_Pa(long double l) { return pressure<pascal, long double>(l); }
consteval auto operator"" _q_Pa(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return pressure<pascal, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_Pa(long double l) { return pressure<pascal, long double>(l); }
// yPa
constexpr auto operator"" _q_yPa(unsigned long long l) { return pressure<yoctopascal, std::int64_t>(l); }
constexpr auto operator"" _q_yPa(long double l) { return pressure<yoctopascal, long double>(l); }
consteval auto operator"" _q_yPa(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return pressure<yoctopascal, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_yPa(long double l) { return pressure<yoctopascal, long double>(l); }
// zPa
constexpr auto operator"" _q_zPa(unsigned long long l) { return pressure<zeptopascal, std::int64_t>(l); }
constexpr auto operator"" _q_zPa(long double l) { return pressure<zeptopascal, long double>(l); }
consteval auto operator"" _q_zPa(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return pressure<zeptopascal, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_zPa(long double l) { return pressure<zeptopascal, long double>(l); }
// aPa
constexpr auto operator"" _q_aPa(unsigned long long l) { return pressure<attopascal, std::int64_t>(l); }
constexpr auto operator"" _q_aPa(long double l) { return pressure<attopascal, long double>(l); }
consteval auto operator"" _q_aPa(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return pressure<attopascal, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_aPa(long double l) { return pressure<attopascal, long double>(l); }
// fPa
constexpr auto operator"" _q_fPa(unsigned long long l) { return pressure<femtopascal, std::int64_t>(l); }
constexpr auto operator"" _q_fPa(long double l) { return pressure<femtopascal, long double>(l); }
consteval auto operator"" _q_fPa(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return pressure<femtopascal, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_fPa(long double l) { return pressure<femtopascal, long double>(l); }
// pPa
constexpr auto operator"" _q_pPa(unsigned long long l) { return pressure<picopascal, std::int64_t>(l); }
constexpr auto operator"" _q_pPa(long double l) { return pressure<picopascal, long double>(l); }
consteval auto operator"" _q_pPa(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return pressure<picopascal, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_pPa(long double l) { return pressure<picopascal, long double>(l); }
// nPa
constexpr auto operator"" _q_nPa(unsigned long long l) { return pressure<nanopascal, std::int64_t>(l); }
constexpr auto operator"" _q_nPa(long double l) { return pressure<nanopascal, long double>(l); }
consteval auto operator"" _q_nPa(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return pressure<nanopascal, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_nPa(long double l) { return pressure<nanopascal, long double>(l); }
// uPa
constexpr auto operator"" _q_uPa(unsigned long long l) { return pressure<micropascal, std::int64_t>(l); }
constexpr auto operator"" _q_uPa(long double l) { return pressure<micropascal, long double>(l); }
consteval auto operator"" _q_uPa(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return pressure<micropascal, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_uPa(long double l) { return pressure<micropascal, long double>(l); }
// mPa
constexpr auto operator"" _q_mPa(unsigned long long l) { return pressure<millipascal, std::int64_t>(l); }
constexpr auto operator"" _q_mPa(long double l) { return pressure<millipascal, long double>(l); }
consteval auto operator"" _q_mPa(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return pressure<millipascal, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_mPa(long double l) { return pressure<millipascal, long double>(l); }
// cPa
constexpr auto operator"" _q_cPa(unsigned long long l) { return pressure<centipascal, std::int64_t>(l); }
constexpr auto operator"" _q_cPa(long double l) { return pressure<centipascal, long double>(l); }
consteval auto operator"" _q_cPa(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return pressure<centipascal, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_cPa(long double l) { return pressure<centipascal, long double>(l); }
// dPa
constexpr auto operator"" _q_dPa(unsigned long long l) { return pressure<decipascal, std::int64_t>(l); }
constexpr auto operator"" _q_dPa(long double l) { return pressure<decipascal, long double>(l); }
consteval auto operator"" _q_dPa(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return pressure<decipascal, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_dPa(long double l) { return pressure<decipascal, long double>(l); }
// daPa
constexpr auto operator"" _q_daPa(unsigned long long l) { return pressure<decapascal, std::int64_t>(l); }
constexpr auto operator"" _q_daPa(long double l) { return pressure<decapascal, long double>(l); }
consteval auto operator"" _q_daPa(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return pressure<decapascal, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_daPa(long double l) { return pressure<decapascal, long double>(l); }
// hPa
constexpr auto operator"" _q_hPa(unsigned long long l) { return pressure<hectopascal, std::int64_t>(l); }
constexpr auto operator"" _q_hPa(long double l) { return pressure<hectopascal, long double>(l); }
consteval auto operator"" _q_hPa(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return pressure<hectopascal, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_hPa(long double l) { return pressure<hectopascal, long double>(l); }
// kPa
constexpr auto operator"" _q_kPa(unsigned long long l) { return pressure<kilopascal, std::int64_t>(l); }
constexpr auto operator"" _q_kPa(long double l) { return pressure<kilopascal, long double>(l); }
consteval auto operator"" _q_kPa(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return pressure<kilopascal, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_kPa(long double l) { return pressure<kilopascal, long double>(l); }
// MPa
constexpr auto operator"" _q_MPa(unsigned long long l) { return pressure<megapascal, std::int64_t>(l); }
constexpr auto operator"" _q_MPa(long double l) { return pressure<megapascal, long double>(l); }
consteval auto operator"" _q_MPa(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return pressure<megapascal, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_MPa(long double l) { return pressure<megapascal, long double>(l); }
// GPa
constexpr auto operator"" _q_GPa(unsigned long long l) { return pressure<gigapascal, std::int64_t>(l); }
constexpr auto operator"" _q_GPa(long double l) { return pressure<gigapascal, long double>(l); }
consteval auto operator"" _q_GPa(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return pressure<gigapascal, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_GPa(long double l) { return pressure<gigapascal, long double>(l); }
// TPa
constexpr auto operator"" _q_TPa(unsigned long long l) { return pressure<terapascal, std::int64_t>(l); }
constexpr auto operator"" _q_TPa(long double l) { return pressure<terapascal, long double>(l); }
consteval auto operator"" _q_TPa(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return pressure<terapascal, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_TPa(long double l) { return pressure<terapascal, long double>(l); }
// PPa
constexpr auto operator"" _q_PPa(unsigned long long l) { return pressure<petapascal, std::int64_t>(l); }
constexpr auto operator"" _q_PPa(long double l) { return pressure<petapascal, long double>(l); }
consteval auto operator"" _q_PPa(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return pressure<petapascal, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_PPa(long double l) { return pressure<petapascal, long double>(l); }
// EPa
constexpr auto operator"" _q_EPa(unsigned long long l) { return pressure<exapascal, std::int64_t>(l); }
constexpr auto operator"" _q_EPa(long double l) { return pressure<exapascal, long double>(l); }
consteval auto operator"" _q_EPa(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return pressure<exapascal, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_EPa(long double l) { return pressure<exapascal, long double>(l); }
// ZPa
constexpr auto operator"" _q_ZPa(unsigned long long l) { return pressure<zettapascal, std::int64_t>(l); }
constexpr auto operator"" _q_ZPa(long double l) { return pressure<zettapascal, long double>(l); }
consteval auto operator"" _q_ZPa(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return pressure<zettapascal, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_ZPa(long double l) { return pressure<zettapascal, long double>(l); }
// YPa
constexpr auto operator"" _q_YPa(unsigned long long l) { return pressure<yottapascal, std::int64_t>(l); }
constexpr auto operator"" _q_YPa(long double l) { return pressure<yottapascal, long double>(l); }
consteval auto operator"" _q_YPa(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return pressure<yottapascal, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_YPa(long double l) { return pressure<yottapascal, long double>(l); }
} // namespace literals

View File

@ -56,72 +56,72 @@ using resistance = quantity<dim_resistance, U, Rep>;
inline namespace literals {
// R
constexpr auto operator"" _q_R(unsigned long long l) { return resistance<ohm, std::int64_t>(l); }
constexpr auto operator"" _q_R(long double l) { return resistance<ohm, long double>(l); }
consteval auto operator"" _q_R(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return resistance<ohm, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_R(long double l) { return resistance<ohm, long double>(l); }
// yR
constexpr auto operator"" _q_yR(unsigned long long l) { return resistance<yoctoohm, std::int64_t>(l); }
constexpr auto operator"" _q_yR(long double l) { return resistance<yoctoohm, long double>(l); }
consteval auto operator"" _q_yR(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return resistance<yoctoohm, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_yR(long double l) { return resistance<yoctoohm, long double>(l); }
// zR
constexpr auto operator"" _q_zR(unsigned long long l) { return resistance<zeptoohm, std::int64_t>(l); }
constexpr auto operator"" _q_zR(long double l) { return resistance<zeptoohm, long double>(l); }
consteval auto operator"" _q_zR(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return resistance<zeptoohm, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_zR(long double l) { return resistance<zeptoohm, long double>(l); }
// aR
constexpr auto operator"" _q_aR(unsigned long long l) { return resistance<attoohm, std::int64_t>(l); }
constexpr auto operator"" _q_aR(long double l) { return resistance<attoohm, long double>(l); }
consteval auto operator"" _q_aR(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return resistance<attoohm, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_aR(long double l) { return resistance<attoohm, long double>(l); }
// fR
constexpr auto operator"" _q_fR(unsigned long long l) { return resistance<femtoohm, std::int64_t>(l); }
constexpr auto operator"" _q_fR(long double l) { return resistance<femtoohm, long double>(l); }
consteval auto operator"" _q_fR(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return resistance<femtoohm, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_fR(long double l) { return resistance<femtoohm, long double>(l); }
// pR
constexpr auto operator"" _q_pR(unsigned long long l) { return resistance<picoohm, std::int64_t>(l); }
constexpr auto operator"" _q_pR(long double l) { return resistance<picoohm, long double>(l); }
consteval auto operator"" _q_pR(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return resistance<picoohm, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_pR(long double l) { return resistance<picoohm, long double>(l); }
// nR
constexpr auto operator"" _q_nR(unsigned long long l) { return resistance<nanoohm, std::int64_t>(l); }
constexpr auto operator"" _q_nR(long double l) { return resistance<nanoohm, long double>(l); }
consteval auto operator"" _q_nR(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return resistance<nanoohm, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_nR(long double l) { return resistance<nanoohm, long double>(l); }
// uR
constexpr auto operator"" _q_uR(unsigned long long l) { return resistance<microohm, std::int64_t>(l); }
constexpr auto operator"" _q_uR(long double l) { return resistance<microohm, long double>(l); }
consteval auto operator"" _q_uR(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return resistance<microohm, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_uR(long double l) { return resistance<microohm, long double>(l); }
// mR
constexpr auto operator"" _q_mR(unsigned long long l) { return resistance<milliohm, std::int64_t>(l); }
constexpr auto operator"" _q_mR(long double l) { return resistance<milliohm, long double>(l); }
consteval auto operator"" _q_mR(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return resistance<milliohm, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_mR(long double l) { return resistance<milliohm, long double>(l); }
// kR
constexpr auto operator"" _q_kR(unsigned long long l) { return resistance<kiloohm, std::int64_t>(l); }
constexpr auto operator"" _q_kR(long double l) { return resistance<kiloohm, long double>(l); }
consteval auto operator"" _q_kR(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return resistance<kiloohm, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_kR(long double l) { return resistance<kiloohm, long double>(l); }
// MR
constexpr auto operator"" _q_MR(unsigned long long l) { return resistance<megaohm, std::int64_t>(l); }
constexpr auto operator"" _q_MR(long double l) { return resistance<megaohm, long double>(l); }
consteval auto operator"" _q_MR(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return resistance<megaohm, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_MR(long double l) { return resistance<megaohm, long double>(l); }
// GR
constexpr auto operator"" _q_GR(unsigned long long l) { return resistance<gigaohm, std::int64_t>(l); }
constexpr auto operator"" _q_GR(long double l) { return resistance<gigaohm, long double>(l); }
consteval auto operator"" _q_GR(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return resistance<gigaohm, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_GR(long double l) { return resistance<gigaohm, long double>(l); }
// TR
constexpr auto operator"" _q_TR(unsigned long long l) { return resistance<teraohm, std::int64_t>(l); }
constexpr auto operator"" _q_TR(long double l) { return resistance<teraohm, long double>(l); }
consteval auto operator"" _q_TR(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return resistance<teraohm, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_TR(long double l) { return resistance<teraohm, long double>(l); }
// PR
constexpr auto operator"" _q_PR(unsigned long long l) { return resistance<petaohm, std::int64_t>(l); }
constexpr auto operator"" _q_PR(long double l) { return resistance<petaohm, long double>(l); }
consteval auto operator"" _q_PR(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return resistance<petaohm, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_PR(long double l) { return resistance<petaohm, long double>(l); }
// ER
constexpr auto operator"" _q_ER(unsigned long long l) { return resistance<exaohm, std::int64_t>(l); }
constexpr auto operator"" _q_ER(long double l) { return resistance<exaohm, long double>(l); }
consteval auto operator"" _q_ER(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return resistance<exaohm, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_ER(long double l) { return resistance<exaohm, long double>(l); }
// ZR
constexpr auto operator"" _q_ZR(unsigned long long l) { return resistance<zettaohm, std::int64_t>(l); }
constexpr auto operator"" _q_ZR(long double l) { return resistance<zettaohm, long double>(l); }
consteval auto operator"" _q_ZR(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return resistance<zettaohm, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_ZR(long double l) { return resistance<zettaohm, long double>(l); }
// YR
constexpr auto operator"" _q_YR(unsigned long long l) { return resistance<yottaohm, std::int64_t>(l); }
constexpr auto operator"" _q_YR(long double l) { return resistance<yottaohm, long double>(l); }
consteval auto operator"" _q_YR(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return resistance<yottaohm, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_YR(long double l) { return resistance<yottaohm, long double>(l); }
} // namespace literals

View File

@ -40,12 +40,12 @@ using speed = quantity<dim_speed, U, Rep>;
inline namespace literals {
// m/s
constexpr auto operator"" _q_m_per_s(unsigned long long l) { return speed<metre_per_second, std::int64_t>(l); }
constexpr auto operator"" _q_m_per_s(long double l) { return speed<metre_per_second, long double>(l); }
consteval auto operator"" _q_m_per_s(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return speed<metre_per_second, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_m_per_s(long double l) { return speed<metre_per_second, long double>(l); }
// km/h
constexpr auto operator"" _q_km_per_h(unsigned long long l) { return speed<kilometre_per_hour, std::int64_t>(l); }
constexpr auto operator"" _q_km_per_h(long double l) { return speed<kilometre_per_hour, long double>(l); }
consteval auto operator"" _q_km_per_h(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return speed<kilometre_per_hour, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_km_per_h(long double l) { return speed<kilometre_per_hour, long double>(l); }
} // namespace literals

View File

@ -38,8 +38,8 @@ using surface_tension = quantity<dim_surface_tension, U, Rep>;
inline namespace literals {
// N/m
constexpr auto operator"" _q_N_per_m(unsigned long long l) { return surface_tension<newton_per_metre, std::int64_t>(l); }
constexpr auto operator"" _q_N_per_m(long double l) { return surface_tension<newton_per_metre, long double>(l); }
consteval auto operator"" _q_N_per_m(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return surface_tension<newton_per_metre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_N_per_m(long double l) { return surface_tension<newton_per_metre, long double>(l); }
} // namespace literals

View File

@ -39,8 +39,8 @@ using thermal_conductivity = quantity<dim_thermal_conductivity, U, Rep>;
inline namespace literals {
// W/(m K)
constexpr auto operator"" _q_W_per_m_K(unsigned long long l) { return thermal_conductivity<watt_per_metre_kelvin, std::int64_t>(l); }
constexpr auto operator"" _q_W_per_m_K(long double l) { return thermal_conductivity<watt_per_metre_kelvin, long double>(l); }
consteval auto operator"" _q_W_per_m_K(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return thermal_conductivity<watt_per_metre_kelvin, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_W_per_m_K(long double l) { return thermal_conductivity<watt_per_metre_kelvin, long double>(l); }
} // namespace literals

View File

@ -40,8 +40,8 @@ using torque = quantity<dim_torque, U, Rep>;
inline namespace literals {
// Nm
constexpr auto operator"" _q_Nm_per_rad(unsigned long long l) { return torque<newton_metre_per_radian, std::int64_t>(l); }
constexpr auto operator"" _q_Nm_per_rad(long double l) { return torque<newton_metre_per_radian, long double>(l); }
consteval auto operator"" _q_Nm_per_rad(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return torque<newton_metre_per_radian, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_Nm_per_rad(long double l) { return torque<newton_metre_per_radian, long double>(l); }
} // namespace literals

View File

@ -60,88 +60,88 @@ using voltage = quantity<dim_voltage, U, Rep>;
inline namespace literals {
// V
constexpr auto operator"" _q_V(unsigned long long l) { return voltage<volt, std::int64_t>(l); }
constexpr auto operator"" _q_V(long double l) { return voltage<volt, long double>(l); }
consteval auto operator"" _q_V(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return voltage<volt, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_V(long double l) { return voltage<volt, long double>(l); }
// yV
constexpr auto operator"" _q_yV(unsigned long long l) { return voltage<yoctovolt, std::int64_t>(l); }
constexpr auto operator"" _q_yV(long double l) { return voltage<yoctovolt, long double>(l); }
consteval auto operator"" _q_yV(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return voltage<yoctovolt, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_yV(long double l) { return voltage<yoctovolt, long double>(l); }
// zV
constexpr auto operator"" _q_zV(unsigned long long l) { return voltage<zeptovolt, std::int64_t>(l); }
constexpr auto operator"" _q_zV(long double l) { return voltage<zeptovolt, long double>(l); }
consteval auto operator"" _q_zV(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return voltage<zeptovolt, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_zV(long double l) { return voltage<zeptovolt, long double>(l); }
// aV
constexpr auto operator"" _q_aV(unsigned long long l) { return voltage<attovolt, std::int64_t>(l); }
constexpr auto operator"" _q_aV(long double l) { return voltage<attovolt, long double>(l); }
consteval auto operator"" _q_aV(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return voltage<attovolt, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_aV(long double l) { return voltage<attovolt, long double>(l); }
// fV
constexpr auto operator"" _q_fV(unsigned long long l) { return voltage<femtovolt, std::int64_t>(l); }
constexpr auto operator"" _q_fV(long double l) { return voltage<femtovolt, long double>(l); }
consteval auto operator"" _q_fV(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return voltage<femtovolt, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_fV(long double l) { return voltage<femtovolt, long double>(l); }
// pV
constexpr auto operator"" _q_pV(unsigned long long l) { return voltage<picovolt, std::int64_t>(l); }
constexpr auto operator"" _q_pV(long double l) { return voltage<picovolt, long double>(l); }
consteval auto operator"" _q_pV(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return voltage<picovolt, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_pV(long double l) { return voltage<picovolt, long double>(l); }
// nV
constexpr auto operator"" _q_nV(unsigned long long l) { return voltage<nanovolt, std::int64_t>(l); }
constexpr auto operator"" _q_nV(long double l) { return voltage<nanovolt, long double>(l); }
consteval auto operator"" _q_nV(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return voltage<nanovolt, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_nV(long double l) { return voltage<nanovolt, long double>(l); }
// uV
constexpr auto operator"" _q_uV(unsigned long long l) { return voltage<microvolt, std::int64_t>(l); }
constexpr auto operator"" _q_uV(long double l) { return voltage<microvolt, long double>(l); }
consteval auto operator"" _q_uV(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return voltage<microvolt, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_uV(long double l) { return voltage<microvolt, long double>(l); }
// mV
constexpr auto operator"" _q_mV(unsigned long long l) { return voltage<millivolt, std::int64_t>(l); }
constexpr auto operator"" _q_mV(long double l) { return voltage<millivolt, long double>(l); }
consteval auto operator"" _q_mV(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return voltage<millivolt, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_mV(long double l) { return voltage<millivolt, long double>(l); }
// cV
constexpr auto operator"" _q_cV(unsigned long long l) { return voltage<centivolt, std::int64_t>(l); }
constexpr auto operator"" _q_cV(long double l) { return voltage<centivolt, long double>(l); }
consteval auto operator"" _q_cV(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return voltage<centivolt, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_cV(long double l) { return voltage<centivolt, long double>(l); }
// dV
constexpr auto operator"" _q_dV(unsigned long long l) { return voltage<decivolt, std::int64_t>(l); }
constexpr auto operator"" _q_dV(long double l) { return voltage<decivolt, long double>(l); }
consteval auto operator"" _q_dV(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return voltage<decivolt, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_dV(long double l) { return voltage<decivolt, long double>(l); }
// daV
constexpr auto operator"" _q_daV(unsigned long long l) { return voltage<decavolt, std::int64_t>(l); }
constexpr auto operator"" _q_daV(long double l) { return voltage<decavolt, long double>(l); }
consteval auto operator"" _q_daV(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return voltage<decavolt, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_daV(long double l) { return voltage<decavolt, long double>(l); }
// hV
constexpr auto operator"" _q_hV(unsigned long long l) { return voltage<hectovolt, std::int64_t>(l); }
constexpr auto operator"" _q_hV(long double l) { return voltage<hectovolt, long double>(l); }
consteval auto operator"" _q_hV(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return voltage<hectovolt, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_hV(long double l) { return voltage<hectovolt, long double>(l); }
// kV
constexpr auto operator"" _q_kV(unsigned long long l) { return voltage<kilovolt, std::int64_t>(l); }
constexpr auto operator"" _q_kV(long double l) { return voltage<kilovolt, long double>(l); }
consteval auto operator"" _q_kV(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return voltage<kilovolt, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_kV(long double l) { return voltage<kilovolt, long double>(l); }
// MV
constexpr auto operator"" _q_MV(unsigned long long l) { return voltage<megavolt, std::int64_t>(l); }
constexpr auto operator"" _q_MV(long double l) { return voltage<megavolt, long double>(l); }
consteval auto operator"" _q_MV(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return voltage<megavolt, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_MV(long double l) { return voltage<megavolt, long double>(l); }
// GV
constexpr auto operator"" _q_GV(unsigned long long l) { return voltage<gigavolt, std::int64_t>(l); }
constexpr auto operator"" _q_GV(long double l) { return voltage<gigavolt, long double>(l); }
consteval auto operator"" _q_GV(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return voltage<gigavolt, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_GV(long double l) { return voltage<gigavolt, long double>(l); }
// TV
constexpr auto operator"" _q_TV(unsigned long long l) { return voltage<teravolt, std::int64_t>(l); }
constexpr auto operator"" _q_TV(long double l) { return voltage<teravolt, long double>(l); }
consteval auto operator"" _q_TV(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return voltage<teravolt, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_TV(long double l) { return voltage<teravolt, long double>(l); }
// PV
constexpr auto operator"" _q_PV(unsigned long long l) { return voltage<petavolt, std::int64_t>(l); }
constexpr auto operator"" _q_PV(long double l) { return voltage<petavolt, long double>(l); }
consteval auto operator"" _q_PV(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return voltage<petavolt, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_PV(long double l) { return voltage<petavolt, long double>(l); }
// EV
constexpr auto operator"" _q_EV(unsigned long long l) { return voltage<exavolt, std::int64_t>(l); }
constexpr auto operator"" _q_EV(long double l) { return voltage<exavolt, long double>(l); }
consteval auto operator"" _q_EV(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return voltage<exavolt, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_EV(long double l) { return voltage<exavolt, long double>(l); }
// ZV
constexpr auto operator"" _q_ZV(unsigned long long l) { return voltage<zettavolt, std::int64_t>(l); }
constexpr auto operator"" _q_ZV(long double l) { return voltage<zettavolt, long double>(l); }
consteval auto operator"" _q_ZV(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return voltage<zettavolt, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_ZV(long double l) { return voltage<zettavolt, long double>(l); }
// YV
constexpr auto operator"" _q_YV(unsigned long long l) { return voltage<yottavolt, std::int64_t>(l); }
constexpr auto operator"" _q_YV(long double l) { return voltage<yottavolt, long double>(l); }
consteval auto operator"" _q_YV(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return voltage<yottavolt, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_YV(long double l) { return voltage<yottavolt, long double>(l); }
} // namespace literals

View File

@ -80,172 +80,172 @@ using volume = quantity<dim_volume, U, Rep>;
inline namespace literals {
// m3
constexpr auto operator"" _q_m3(unsigned long long l) { return volume<cubic_metre, std::int64_t>(l); }
constexpr auto operator"" _q_m3(long double l) { return volume<cubic_metre, long double>(l); }
consteval auto operator"" _q_m3(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return volume<cubic_metre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_m3(long double l) { return volume<cubic_metre, long double>(l); }
// ym3
constexpr auto operator"" _q_ym3(unsigned long long l) { return volume<cubic_yoctometre, std::int64_t>(l); }
constexpr auto operator"" _q_ym3(long double l) { return volume<cubic_yoctometre, long double>(l); }
consteval auto operator"" _q_ym3(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return volume<cubic_yoctometre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_ym3(long double l) { return volume<cubic_yoctometre, long double>(l); }
// zm3
constexpr auto operator"" _q_zm3(unsigned long long l) { return volume<cubic_zeptometre, std::int64_t>(l); }
constexpr auto operator"" _q_zm3(long double l) { return volume<cubic_zeptometre, long double>(l); }
consteval auto operator"" _q_zm3(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return volume<cubic_zeptometre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_zm3(long double l) { return volume<cubic_zeptometre, long double>(l); }
// am3
constexpr auto operator"" _q_am3(unsigned long long l) { return volume<cubic_attometre, std::int64_t>(l); }
constexpr auto operator"" _q_am3(long double l) { return volume<cubic_attometre, long double>(l); }
consteval auto operator"" _q_am3(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return volume<cubic_attometre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_am3(long double l) { return volume<cubic_attometre, long double>(l); }
// fm3
constexpr auto operator"" _q_fm3(unsigned long long l) { return volume<cubic_femtometre, std::int64_t>(l); }
constexpr auto operator"" _q_fm3(long double l) { return volume<cubic_femtometre, long double>(l); }
consteval auto operator"" _q_fm3(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return volume<cubic_femtometre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_fm3(long double l) { return volume<cubic_femtometre, long double>(l); }
// pm3
constexpr auto operator"" _q_pm3(unsigned long long l) { return volume<cubic_picometre, std::int64_t>(l); }
constexpr auto operator"" _q_pm3(long double l) { return volume<cubic_picometre, long double>(l); }
consteval auto operator"" _q_pm3(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return volume<cubic_picometre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_pm3(long double l) { return volume<cubic_picometre, long double>(l); }
// nm3
constexpr auto operator"" _q_nm3(unsigned long long l) { return volume<cubic_nanometre, std::int64_t>(l); }
constexpr auto operator"" _q_nm3(long double l) { return volume<cubic_nanometre, long double>(l); }
consteval auto operator"" _q_nm3(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return volume<cubic_nanometre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_nm3(long double l) { return volume<cubic_nanometre, long double>(l); }
// um3
constexpr auto operator"" _q_um3(unsigned long long l) { return volume<cubic_micrometre, std::int64_t>(l); }
constexpr auto operator"" _q_um3(long double l) { return volume<cubic_micrometre, long double>(l); }
consteval auto operator"" _q_um3(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return volume<cubic_micrometre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_um3(long double l) { return volume<cubic_micrometre, long double>(l); }
// mm3
constexpr auto operator"" _q_mm3(unsigned long long l) { return volume<cubic_millimetre, std::int64_t>(l); }
constexpr auto operator"" _q_mm3(long double l) { return volume<cubic_millimetre, long double>(l); }
consteval auto operator"" _q_mm3(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return volume<cubic_millimetre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_mm3(long double l) { return volume<cubic_millimetre, long double>(l); }
// cm3
constexpr auto operator"" _q_cm3(unsigned long long l) { return volume<cubic_centimetre, std::int64_t>(l); }
constexpr auto operator"" _q_cm3(long double l) { return volume<cubic_centimetre, long double>(l); }
consteval auto operator"" _q_cm3(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return volume<cubic_centimetre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_cm3(long double l) { return volume<cubic_centimetre, long double>(l); }
// dm3
constexpr auto operator"" _q_dm3(unsigned long long l) { return volume<cubic_decimetre, std::int64_t>(l); }
constexpr auto operator"" _q_dm3(long double l) { return volume<cubic_decimetre, long double>(l); }
consteval auto operator"" _q_dm3(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return volume<cubic_decimetre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_dm3(long double l) { return volume<cubic_decimetre, long double>(l); }
// dam3
constexpr auto operator"" _q_dam3(unsigned long long l) { return volume<cubic_decametre, std::int64_t>(l); }
constexpr auto operator"" _q_dam3(long double l) { return volume<cubic_decametre, long double>(l); }
consteval auto operator"" _q_dam3(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return volume<cubic_decametre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_dam3(long double l) { return volume<cubic_decametre, long double>(l); }
// hm3
constexpr auto operator"" _q_hm3(unsigned long long l) { return volume<cubic_hectometre, std::int64_t>(l); }
constexpr auto operator"" _q_hm3(long double l) { return volume<cubic_hectometre, long double>(l); }
consteval auto operator"" _q_hm3(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return volume<cubic_hectometre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_hm3(long double l) { return volume<cubic_hectometre, long double>(l); }
// km3
constexpr auto operator"" _q_km3(unsigned long long l) { return volume<cubic_kilometre, std::int64_t>(l); }
constexpr auto operator"" _q_km3(long double l) { return volume<cubic_kilometre, long double>(l); }
consteval auto operator"" _q_km3(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return volume<cubic_kilometre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_km3(long double l) { return volume<cubic_kilometre, long double>(l); }
// Mm3
constexpr auto operator"" _q_Mm3(unsigned long long l) { return volume<cubic_megametre, std::int64_t>(l); }
constexpr auto operator"" _q_Mm3(long double l) { return volume<cubic_megametre, long double>(l); }
consteval auto operator"" _q_Mm3(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return volume<cubic_megametre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_Mm3(long double l) { return volume<cubic_megametre, long double>(l); }
// Gm3
constexpr auto operator"" _q_Gm3(unsigned long long l) { return volume<cubic_gigametre, std::int64_t>(l); }
constexpr auto operator"" _q_Gm3(long double l) { return volume<cubic_gigametre, long double>(l); }
consteval auto operator"" _q_Gm3(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return volume<cubic_gigametre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_Gm3(long double l) { return volume<cubic_gigametre, long double>(l); }
// Tm3
constexpr auto operator"" _q_Tm3(unsigned long long l) { return volume<cubic_terametre, std::int64_t>(l); }
constexpr auto operator"" _q_Tm3(long double l) { return volume<cubic_terametre, long double>(l); }
consteval auto operator"" _q_Tm3(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return volume<cubic_terametre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_Tm3(long double l) { return volume<cubic_terametre, long double>(l); }
// Pm3
constexpr auto operator"" _q_Pm3(unsigned long long l) { return volume<cubic_petametre, std::int64_t>(l); }
constexpr auto operator"" _q_Pm3(long double l) { return volume<cubic_petametre, long double>(l); }
consteval auto operator"" _q_Pm3(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return volume<cubic_petametre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_Pm3(long double l) { return volume<cubic_petametre, long double>(l); }
// Em3
constexpr auto operator"" _q_Em3(unsigned long long l) { return volume<cubic_exametre, std::int64_t>(l); }
constexpr auto operator"" _q_Em3(long double l) { return volume<cubic_exametre, long double>(l); }
consteval auto operator"" _q_Em3(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return volume<cubic_exametre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_Em3(long double l) { return volume<cubic_exametre, long double>(l); }
// Zm3
constexpr auto operator"" _q_Zm3(unsigned long long l) { return volume<cubic_zettametre, std::int64_t>(l); }
constexpr auto operator"" _q_Zm3(long double l) { return volume<cubic_zettametre, long double>(l); }
consteval auto operator"" _q_Zm3(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return volume<cubic_zettametre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_Zm3(long double l) { return volume<cubic_zettametre, long double>(l); }
// Ym3
constexpr auto operator"" _q_Ym3(unsigned long long l) { return volume<cubic_yottametre, std::int64_t>(l); }
constexpr auto operator"" _q_Ym3(long double l) { return volume<cubic_yottametre, long double>(l); }
consteval auto operator"" _q_Ym3(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return volume<cubic_yottametre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_Ym3(long double l) { return volume<cubic_yottametre, long double>(l); }
// l
constexpr auto operator"" _q_l(unsigned long long l) { return volume<litre, std::int64_t>(l); }
constexpr auto operator"" _q_l(long double l) { return volume<litre, long double>(l); }
consteval auto operator"" _q_l(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return volume<litre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_l(long double l) { return volume<litre, long double>(l); }
// yl
constexpr auto operator"" _q_yl(unsigned long long l) { return volume<yoctolitre, std::int64_t>(l); }
constexpr auto operator"" _q_yl(long double l) { return volume<yoctolitre, long double>(l); }
consteval auto operator"" _q_yl(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return volume<yoctolitre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_yl(long double l) { return volume<yoctolitre, long double>(l); }
// zl
constexpr auto operator"" _q_zl(unsigned long long l) { return volume<zeptolitre, std::int64_t>(l); }
constexpr auto operator"" _q_zl(long double l) { return volume<zeptolitre, long double>(l); }
consteval auto operator"" _q_zl(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return volume<zeptolitre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_zl(long double l) { return volume<zeptolitre, long double>(l); }
// al
constexpr auto operator"" _q_al(unsigned long long l) { return volume<attolitre, std::int64_t>(l); }
constexpr auto operator"" _q_al(long double l) { return volume<attolitre, long double>(l); }
consteval auto operator"" _q_al(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return volume<attolitre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_al(long double l) { return volume<attolitre, long double>(l); }
// fl
constexpr auto operator"" _q_fl(unsigned long long l) { return volume<femtolitre, std::int64_t>(l); }
constexpr auto operator"" _q_fl(long double l) { return volume<femtolitre, long double>(l); }
consteval auto operator"" _q_fl(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return volume<femtolitre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_fl(long double l) { return volume<femtolitre, long double>(l); }
// pl
constexpr auto operator"" _q_pl(unsigned long long l) { return volume<picolitre, std::int64_t>(l); }
constexpr auto operator"" _q_pl(long double l) { return volume<picolitre, long double>(l); }
consteval auto operator"" _q_pl(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return volume<picolitre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_pl(long double l) { return volume<picolitre, long double>(l); }
// nl
constexpr auto operator"" _q_nl(unsigned long long l) { return volume<nanolitre, std::int64_t>(l); }
constexpr auto operator"" _q_nl(long double l) { return volume<nanolitre, long double>(l); }
consteval auto operator"" _q_nl(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return volume<nanolitre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_nl(long double l) { return volume<nanolitre, long double>(l); }
// ul
constexpr auto operator"" _q_ul(unsigned long long l) { return volume<microlitre, std::int64_t>(l); }
constexpr auto operator"" _q_ul(long double l) { return volume<microlitre, long double>(l); }
consteval auto operator"" _q_ul(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return volume<microlitre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_ul(long double l) { return volume<microlitre, long double>(l); }
// ml
constexpr auto operator"" _q_ml(unsigned long long l) { return volume<millilitre, std::int64_t>(l); }
constexpr auto operator"" _q_ml(long double l) { return volume<millilitre, long double>(l); }
consteval auto operator"" _q_ml(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return volume<millilitre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_ml(long double l) { return volume<millilitre, long double>(l); }
// cl
constexpr auto operator"" _q_cl(unsigned long long l) { return volume<centilitre, std::int64_t>(l); }
constexpr auto operator"" _q_cl(long double l) { return volume<centilitre, long double>(l); }
consteval auto operator"" _q_cl(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return volume<centilitre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_cl(long double l) { return volume<centilitre, long double>(l); }
// dl
constexpr auto operator"" _q_dl(unsigned long long l) { return volume<decilitre, std::int64_t>(l); }
constexpr auto operator"" _q_dl(long double l) { return volume<decilitre, long double>(l); }
consteval auto operator"" _q_dl(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return volume<decilitre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_dl(long double l) { return volume<decilitre, long double>(l); }
// dal
constexpr auto operator"" _q_dal(unsigned long long l) { return volume<decalitre, std::int64_t>(l); }
constexpr auto operator"" _q_dal(long double l) { return volume<decalitre, long double>(l); }
consteval auto operator"" _q_dal(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return volume<decalitre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_dal(long double l) { return volume<decalitre, long double>(l); }
// hl
constexpr auto operator"" _q_hl(unsigned long long l) { return volume<hectolitre, std::int64_t>(l); }
constexpr auto operator"" _q_hl(long double l) { return volume<hectolitre, long double>(l); }
consteval auto operator"" _q_hl(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return volume<hectolitre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_hl(long double l) { return volume<hectolitre, long double>(l); }
// kl
constexpr auto operator"" _q_kl(unsigned long long l) { return volume<kilolitre, std::int64_t>(l); }
constexpr auto operator"" _q_kl(long double l) { return volume<kilolitre, long double>(l); }
consteval auto operator"" _q_kl(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return volume<kilolitre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_kl(long double l) { return volume<kilolitre, long double>(l); }
// Ml
constexpr auto operator"" _q_Ml(unsigned long long l) { return volume<megalitre, std::int64_t>(l); }
constexpr auto operator"" _q_Ml(long double l) { return volume<megalitre, long double>(l); }
consteval auto operator"" _q_Ml(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return volume<megalitre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_Ml(long double l) { return volume<megalitre, long double>(l); }
// Gl
constexpr auto operator"" _q_Gl(unsigned long long l) { return volume<gigalitre, std::int64_t>(l); }
constexpr auto operator"" _q_Gl(long double l) { return volume<gigalitre, long double>(l); }
consteval auto operator"" _q_Gl(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return volume<gigalitre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_Gl(long double l) { return volume<gigalitre, long double>(l); }
// Tl
constexpr auto operator"" _q_Tl(unsigned long long l) { return volume<teralitre, std::int64_t>(l); }
constexpr auto operator"" _q_Tl(long double l) { return volume<teralitre, long double>(l); }
consteval auto operator"" _q_Tl(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return volume<teralitre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_Tl(long double l) { return volume<teralitre, long double>(l); }
// Pl
constexpr auto operator"" _q_Pl(unsigned long long l) { return volume<petalitre, std::int64_t>(l); }
constexpr auto operator"" _q_Pl(long double l) { return volume<petalitre, long double>(l); }
consteval auto operator"" _q_Pl(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return volume<petalitre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_Pl(long double l) { return volume<petalitre, long double>(l); }
// El
constexpr auto operator"" _q_El(unsigned long long l) { return volume<exalitre, std::int64_t>(l); }
constexpr auto operator"" _q_El(long double l) { return volume<exalitre, long double>(l); }
consteval auto operator"" _q_El(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return volume<exalitre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_El(long double l) { return volume<exalitre, long double>(l); }
// Zl
constexpr auto operator"" _q_Zl(unsigned long long l) { return volume<zettalitre, std::int64_t>(l); }
constexpr auto operator"" _q_Zl(long double l) { return volume<zettalitre, long double>(l); }
consteval auto operator"" _q_Zl(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return volume<zettalitre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_Zl(long double l) { return volume<zettalitre, long double>(l); }
// Yl
constexpr auto operator"" _q_Yl(unsigned long long l) { return volume<yottalitre, std::int64_t>(l); }
constexpr auto operator"" _q_Yl(long double l) { return volume<yottalitre, long double>(l); }
consteval auto operator"" _q_Yl(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return volume<yottalitre, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_Yl(long double l) { return volume<yottalitre, long double>(l); }
} // namespace literals

View File

@ -57,39 +57,39 @@ using length = quantity<dim_length, U, Rep>;
inline namespace literals {
// Thousandth
constexpr auto operator"" _q_thou(unsigned long long l) { return length<thousandth, std::int64_t>(l); }
constexpr auto operator"" _q_thou(long double l) { return length<thousandth, long double>(l); }
constexpr auto operator"" _q_mil(unsigned long long l) { return length<thousandth, std::int64_t>(l); }
constexpr auto operator"" _q_mil(long double l) { return length<thousandth, long double>(l); }
consteval auto operator"" _q_thou(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return length<thousandth, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_thou(long double l) { return length<thousandth, long double>(l); }
consteval auto operator"" _q_mil(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return length<thousandth, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_mil(long double l) { return length<thousandth, long double>(l); }
// Inch
constexpr auto operator"" _q_in(unsigned long long l) { return length<inch, std::int64_t>(l); }
constexpr auto operator"" _q_in(long double l) { return length<inch, long double>(l); }
consteval auto operator"" _q_in(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return length<inch, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_in(long double l) { return length<inch, long double>(l); }
// Foot
constexpr auto operator"" _q_ft(unsigned long long l) { return length<foot, std::int64_t>(l); }
constexpr auto operator"" _q_ft(long double l) { return length<foot, long double>(l); }
consteval auto operator"" _q_ft(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return length<foot, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_ft(long double l) { return length<foot, long double>(l); }
// Yard
constexpr auto operator"" _q_yd(unsigned long long l) { return length<yard, std::int64_t>(l); }
constexpr auto operator"" _q_yd(long double l) { return length<yard, long double>(l); }
consteval auto operator"" _q_yd(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return length<yard, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_yd(long double l) { return length<yard, long double>(l); }
// Fathom
constexpr auto operator"" _q_ftm(unsigned long long l) { return length<fathom, std::int64_t>(l); }
constexpr auto operator"" _q_ftm(long double l) { return length<fathom, long double>(l); }
consteval auto operator"" _q_ftm(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return length<fathom, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_ftm(long double l) { return length<fathom, long double>(l); }
// Kiloyard
constexpr auto operator"" _q_kyd(unsigned long long l) { return length<kiloyard, std::int64_t>(l); }
constexpr auto operator"" _q_kyd(long double l) { return length<kiloyard, long double>(l); }
consteval auto operator"" _q_kyd(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return length<kiloyard, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_kyd(long double l) { return length<kiloyard, long double>(l); }
// Mile
constexpr auto operator"" _q_mile(unsigned long long l) { return length<mile, std::int64_t>(l); }
constexpr auto operator"" _q_mile(long double l) { return length<mile, long double>(l); }
consteval auto operator"" _q_mile(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return length<mile, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_mile(long double l) { return length<mile, long double>(l); }
// Nautical mile
constexpr auto operator"" _q_naut_mi(unsigned long long l) { return length<nautical_mile, std::int64_t>(l); }
constexpr auto operator"" _q_naut_mi(long double l) { return length<nautical_mile, long double>(l); }
consteval auto operator"" _q_naut_mi(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return length<nautical_mile, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_naut_mi(long double l) { return length<nautical_mile, long double>(l); }
} // namespace literals

View File

@ -54,40 +54,40 @@ struct long_ton : named_scaled_unit<long_ton, "ton (long)", no_prefix, ratio(2'2
inline namespace literals {
// Grain
constexpr auto operator"" _q_gr(unsigned long long l) { return mass<grain, std::int64_t>(l); }
constexpr auto operator"" _q_gr(long double l) { return mass<grain, long double>(l); }
consteval auto operator"" _q_gr(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return mass<grain, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_gr(long double l) { return mass<grain, long double>(l); }
// Dram
constexpr auto operator"" _q_dr(unsigned long long l) { return mass<dram, std::int64_t>(l); }
constexpr auto operator"" _q_dr(long double l) { return mass<dram, long double>(l); }
consteval auto operator"" _q_dr(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return mass<dram, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_dr(long double l) { return mass<dram, long double>(l); }
// Ounce
constexpr auto operator"" _q_oz(unsigned long long l) { return mass<ounce, std::int64_t>(l); }
constexpr auto operator"" _q_oz(long double l) { return mass<ounce, long double>(l); }
consteval auto operator"" _q_oz(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return mass<ounce, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_oz(long double l) { return mass<ounce, long double>(l); }
// Pound
constexpr auto operator"" _q_lb(unsigned long long l) { return mass<pound, std::int64_t>(l); }
constexpr auto operator"" _q_lb(long double l) { return mass<pound, long double>(l); }
consteval auto operator"" _q_lb(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return mass<pound, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_lb(long double l) { return mass<pound, long double>(l); }
// Stone
constexpr auto operator"" _q_st(unsigned long long l) { return mass<stone, std::int64_t>(l); }
constexpr auto operator"" _q_st(long double l) { return mass<stone, long double>(l); }
consteval auto operator"" _q_st(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return mass<stone, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_st(long double l) { return mass<stone, long double>(l); }
// Quarter
constexpr auto operator"" _q_qr(unsigned long long l) { return mass<quarter, std::int64_t>(l); }
constexpr auto operator"" _q_qr(long double l) { return mass<quarter, long double>(l); }
consteval auto operator"" _q_qr(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return mass<quarter, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_qr(long double l) { return mass<quarter, long double>(l); }
// Hundredweight
constexpr auto operator"" _q_cwt(unsigned long long l) { return mass<hundredweight, std::int64_t>(l); }
constexpr auto operator"" _q_cwt(long double l) { return mass<hundredweight, long double>(l); }
consteval auto operator"" _q_cwt(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return mass<hundredweight, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_cwt(long double l) { return mass<hundredweight, long double>(l); }
// Short ton
constexpr auto operator"" _q_ston(unsigned long long l) { return mass<short_ton, std::int64_t>(l); }
constexpr auto operator"" _q_ston(long double l) { return mass<short_ton, long double>(l); }
consteval auto operator"" _q_ston(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return mass<short_ton, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_ston(long double l) { return mass<short_ton, long double>(l); }
// Long Ton
constexpr auto operator"" _q_lton(unsigned long long l) { return mass<long_ton, std::int64_t>(l); }
constexpr auto operator"" _q_lton(long double l) { return mass<long_ton, long double>(l); }
consteval auto operator"" _q_lton(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return mass<long_ton, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_lton(long double l) { return mass<long_ton, long double>(l); }
} // namespace literals

View File

@ -37,8 +37,8 @@ using acceleration = quantity<dim_acceleration, U, Rep>;
inline namespace literals {
// ft/s2
constexpr auto operator"" _q_ft_per_s2(unsigned long long l) { return acceleration<foot_per_second_sq, std::int64_t>(l); }
constexpr auto operator"" _q_ft_per_s2(long double l) { return acceleration<foot_per_second_sq, long double>(l); }
consteval auto operator"" _q_ft_per_s2(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return acceleration<foot_per_second_sq, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_ft_per_s2(long double l) { return acceleration<foot_per_second_sq, long double>(l); }
} // namespace literals

View File

@ -38,8 +38,8 @@ using area = quantity<dim_area, U, Rep>;
inline namespace literals {
// ft2
constexpr auto operator"" _q_ft2(unsigned long long l) { return area<square_foot, std::int64_t>(l); }
constexpr auto operator"" _q_ft2(long double l) { return area<square_foot, long double>(l); }
consteval auto operator"" _q_ft2(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return area<square_foot, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_ft2(long double l) { return area<square_foot, long double>(l); }
} // namespace literals

View File

@ -39,8 +39,8 @@ using density = quantity<dim_density, U, Rep>;
inline namespace literals {
// lb/ft³
constexpr auto operator"" _q_lb_per_ft3(unsigned long long l) { return density<pound_per_foot_cub, std::int64_t>(l); }
constexpr auto operator"" _q_lb_per_ft3(long double l) { return density<pound_per_foot_cub, long double>(l); }
consteval auto operator"" _q_lb_per_ft3(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return density<pound_per_foot_cub, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_lb_per_ft3(long double l) { return density<pound_per_foot_cub, long double>(l); }
} // namespace literals

View File

@ -46,12 +46,12 @@ using energy = quantity<dim_energy, U, Rep>;
inline namespace literals {
// foot poundal
constexpr auto operator"" _q_ft_pdl(unsigned long long l) { return energy<foot_poundal, std::int64_t>(l); }
constexpr auto operator"" _q_ft_pdl(long double l) { return energy<foot_poundal, long double>(l); }
consteval auto operator"" _q_ft_pdl(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return energy<foot_poundal, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_ft_pdl(long double l) { return energy<foot_poundal, long double>(l); }
// foot_pound force
constexpr auto operator"" _q_ft_lbf(unsigned long long l) { return energy<foot_pound_force, std::int64_t>(l); }
constexpr auto operator"" _q_ft_lbf(long double l) { return energy<foot_pound_force, long double>(l); }
consteval auto operator"" _q_ft_lbf(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return energy<foot_pound_force, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_ft_lbf(long double l) { return energy<foot_pound_force, long double>(l); }
} // namespace literals

View File

@ -49,16 +49,16 @@ using force = quantity<dim_force, U, Rep>;
inline namespace literals {
// poundal
constexpr auto operator"" _q_pdl(unsigned long long l) { return force<poundal, std::int64_t>(l); }
constexpr auto operator"" _q_pdl(long double l) { return force<poundal, long double>(l); }
consteval auto operator"" _q_pdl(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return force<poundal, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_pdl(long double l) { return force<poundal, long double>(l); }
// pound force
constexpr auto operator"" _q_lbf(unsigned long long l) { return force<pound_force, std::int64_t>(l); }
constexpr auto operator"" _q_lbf(long double l) { return force<pound_force, long double>(l); }
consteval auto operator"" _q_lbf(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return force<pound_force, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_lbf(long double l) { return force<pound_force, long double>(l); }
// kilopound force
constexpr auto operator"" _q_klbf(unsigned long long l) { return force<kilopound_force, std::int64_t>(l); }
constexpr auto operator"" _q_klbf(long double l) { return force<kilopound_force, long double>(l); }
consteval auto operator"" _q_klbf(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return force<kilopound_force, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_klbf(long double l) { return force<kilopound_force, long double>(l); }
} // namespace literals

View File

@ -43,16 +43,16 @@ using power = quantity<dim_power, U, Rep>;
inline namespace literals {
// foot pound force per second
constexpr auto operator"" _q_ft_pdl_per_s(unsigned long long l) { return power<foot_poundal_per_second, std::int64_t>(l); }
constexpr auto operator"" _q_ft_pdl_per_s(long double l) { return power<foot_poundal_per_second, long double>(l); }
consteval auto operator"" _q_ft_pdl_per_s(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return power<foot_poundal_per_second, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_ft_pdl_per_s(long double l) { return power<foot_poundal_per_second, long double>(l); }
// foot pound force per second
constexpr auto operator"" _q_ft_lbf_per_s(unsigned long long l) { return power<foot_pound_force_per_second, std::int64_t>(l); }
constexpr auto operator"" _q_ft_lbf_per_s(long double l) { return power<foot_pound_force_per_second, long double>(l); }
consteval auto operator"" _q_ft_lbf_per_s(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return power<foot_pound_force_per_second, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_ft_lbf_per_s(long double l) { return power<foot_pound_force_per_second, long double>(l); }
// horse power
constexpr auto operator"" _q_hp(unsigned long long l) { return power<horse_power, std::int64_t>(l); }
constexpr auto operator"" _q_hp(long double l) { return power<horse_power, long double>(l); }
consteval auto operator"" _q_hp(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return power<horse_power, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_hp(long double l) { return power<horse_power, long double>(l); }
} // namespace literals

View File

@ -46,16 +46,16 @@ struct kilopound_force_per_inch_sq : prefixed_unit<kilopound_force_per_inch_sq,
inline namespace literals {
// Poundal per square foot
constexpr auto operator"" _q_pdl_per_ft2(unsigned long long l) { return pressure<poundal_per_foot_sq, std::int64_t>(l); }
constexpr auto operator"" _q_pdl_per_ft2(long double l) { return pressure<poundal_per_foot_sq, long double>(l); }
consteval auto operator"" _q_pdl_per_ft2(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return pressure<poundal_per_foot_sq, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_pdl_per_ft2(long double l) { return pressure<poundal_per_foot_sq, long double>(l); }
// Pounds per square inch
constexpr auto operator"" _q_psi(unsigned long long l) { return pressure<pound_force_per_inch_sq, std::int64_t>(l); }
constexpr auto operator"" _q_psi(long double l) { return pressure<pound_force_per_inch_sq, long double>(l); }
consteval auto operator"" _q_psi(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return pressure<pound_force_per_inch_sq, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_psi(long double l) { return pressure<pound_force_per_inch_sq, long double>(l); }
// kilopounds per square inch
constexpr auto operator"" _q_kpsi(unsigned long long l) { return pressure<kilopound_force_per_inch_sq, std::int64_t>(l); }
constexpr auto operator"" _q_kpsi(long double l) { return pressure<kilopound_force_per_inch_sq, long double>(l); }
consteval auto operator"" _q_kpsi(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return pressure<kilopound_force_per_inch_sq, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_kpsi(long double l) { return pressure<kilopound_force_per_inch_sq, long double>(l); }
} // namespace literals

View File

@ -45,16 +45,16 @@ struct knot : alias_unit<nautical_mile_per_hour, "knot", no_prefix> {};
inline namespace literals {
// ft/s
constexpr auto operator"" _q_ft_per_s(unsigned long long l) { return speed<foot_per_second, std::int64_t>(l); }
constexpr auto operator"" _q_ft_per_s(long double l) { return speed<foot_per_second, long double>(l); }
consteval auto operator"" _q_ft_per_s(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return speed<foot_per_second, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_ft_per_s(long double l) { return speed<foot_per_second, long double>(l); }
// mph
constexpr auto operator"" _q_mph(unsigned long long l) { return speed<mile_per_hour, std::int64_t>(l); }
constexpr auto operator"" _q_mph(long double l) { return speed<mile_per_hour, long double>(l); }
consteval auto operator"" _q_mph(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return speed<mile_per_hour, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_mph(long double l) { return speed<mile_per_hour, long double>(l); }
// kn
constexpr auto operator"" _q_knot(unsigned long long l) { return speed<knot, std::int64_t>(l); }
constexpr auto operator"" _q_knot(long double l) { return speed<knot, long double>(l); }
consteval auto operator"" _q_knot(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return speed<knot, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_knot(long double l) { return speed<knot, long double>(l); }
} // namespace literals

View File

@ -39,12 +39,12 @@ using volume = quantity<dim_volume, U, Rep>;
inline namespace literals {
// ft3
constexpr auto operator"" _q_ft3(unsigned long long l) { return volume<cubic_foot, std::int64_t>(l); }
constexpr auto operator"" _q_ft3(long double l) { return volume<cubic_foot, long double>(l); }
consteval auto operator"" _q_ft3(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return volume<cubic_foot, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_ft3(long double l) { return volume<cubic_foot, long double>(l); }
// yd3
constexpr auto operator"" _q_yd3(unsigned long long l) { return volume<cubic_yard, std::int64_t>(l); }
constexpr auto operator"" _q_yd3(long double l) { return volume<cubic_yard, long double>(l); }
consteval auto operator"" _q_yd3(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return volume<cubic_yard, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_yd3(long double l) { return volume<cubic_yard, long double>(l); }
} // namespace literals

View File

@ -39,16 +39,16 @@ struct angstrom : named_scaled_unit<angstrom, "angstrom", no_prefix, ratio(1, 1,
inline namespace literals {
// ly
constexpr auto operator"" _q_ly(unsigned long long l) { return si::length<light_year, std::int64_t>(l); }
constexpr auto operator"" _q_ly(long double l) { return si::length<light_year, long double>(l); }
consteval auto operator"" _q_ly(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return si::length<light_year, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_ly(long double l) { return si::length<light_year, long double>(l); }
// pc
constexpr auto operator"" _q_pc(unsigned long long l) { return si::length<parsec, std::int64_t>(l); }
constexpr auto operator"" _q_pc(long double l) { return si::length<parsec, long double>(l); }
consteval auto operator"" _q_pc(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return si::length<parsec, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_pc(long double l) { return si::length<parsec, long double>(l); }
// angstrom
constexpr auto operator"" _q_angstrom(unsigned long long l) { return si::length<angstrom, std::int64_t>(l); }
constexpr auto operator"" _q_angstrom(long double l) { return si::length<angstrom, long double>(l); }
consteval auto operator"" _q_angstrom(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return si::length<angstrom, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_angstrom(long double l) { return si::length<angstrom, long double>(l); }
} // namespace literals

View File

@ -35,12 +35,12 @@ struct rod : named_scaled_unit<rod, "rd", no_prefix, ratio(1, 4), chain> {};
inline namespace literals {
// ch
constexpr auto operator"" _q_ch(unsigned long long l) { return si::length<chain, std::int64_t>(l); }
constexpr auto operator"" _q_ch(long double l) { return si::length<chain, long double>(l); }
consteval auto operator"" _q_ch(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return si::length<chain, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_ch(long double l) { return si::length<chain, long double>(l); }
// rd
constexpr auto operator"" _q_rd(unsigned long long l) { return si::length<rod, std::int64_t>(l); }
constexpr auto operator"" _q_rd(long double l) { return si::length<rod, long double>(l); }
consteval auto operator"" _q_rd(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return si::length<rod, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_rd(long double l) { return si::length<rod, long double>(l); }
} // namespace literals

View File

@ -61,36 +61,36 @@ using mil = thou;
inline namespace literals {
// yd
constexpr auto operator"" _q_yd(unsigned long long l) { return si::length<yard, std::int64_t>(l); }
constexpr auto operator"" _q_yd(long double l) { return si::length<yard, long double>(l); }
consteval auto operator"" _q_yd(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return si::length<yard, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_yd(long double l) { return si::length<yard, long double>(l); }
// ft
constexpr auto operator"" _q_ft(unsigned long long l) { return si::length<foot, std::int64_t>(l); }
constexpr auto operator"" _q_ft(long double l) { return si::length<foot, long double>(l); }
consteval auto operator"" _q_ft(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return si::length<foot, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_ft(long double l) { return si::length<foot, long double>(l); }
// fathom
constexpr auto operator"" _q_fathom(unsigned long long l) { return si::length<fathom, std::int64_t>(l); }
constexpr auto operator"" _q_fathom(long double l) { return si::length<fathom, long double>(l); }
consteval auto operator"" _q_fathom(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return si::length<fathom, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_fathom(long double l) { return si::length<fathom, long double>(l); }
// in
constexpr auto operator"" _q_in(unsigned long long l) { return si::length<inch, std::int64_t>(l); }
constexpr auto operator"" _q_in(long double l) { return si::length<inch, long double>(l); }
consteval auto operator"" _q_in(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return si::length<inch, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_in(long double l) { return si::length<inch, long double>(l); }
// mi
constexpr auto operator"" _q_mi(unsigned long long l) { return si::length<mile, std::int64_t>(l); }
constexpr auto operator"" _q_mi(long double l) { return si::length<mile, long double>(l); }
consteval auto operator"" _q_mi(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return si::length<mile, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_mi(long double l) { return si::length<mile, long double>(l); }
// mi_naut
constexpr auto operator"" _q_naut_mi(unsigned long long l) { return si::length<nautical_mile, std::int64_t>(l); }
constexpr auto operator"" _q_naut_mi(long double l) { return si::length<nautical_mile, long double>(l); }
consteval auto operator"" _q_naut_mi(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return si::length<nautical_mile, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_naut_mi(long double l) { return si::length<nautical_mile, long double>(l); }
// thou
constexpr auto operator"" _q_thou(unsigned long long l) { return si::length<thou, std::int64_t>(l); }
constexpr auto operator"" _q_thou(long double l) { return si::length<thou, long double>(l); }
consteval auto operator"" _q_thou(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return si::length<thou, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_thou(long double l) { return si::length<thou, long double>(l); }
// mil
constexpr auto operator"" _q_mil(unsigned long long l) { return si::length<mil, std::int64_t>(l); }
constexpr auto operator"" _q_mil(long double l) { return si::length<mil, long double>(l); }
consteval auto operator"" _q_mil(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return si::length<mil, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_mil(long double l) { return si::length<mil, long double>(l); }
} // namespace literals

View File

@ -32,8 +32,8 @@ struct square_foot : deduced_unit<square_foot, si::dim_area, si::international::
inline namespace literals {
// ft2
constexpr auto operator"" _q_ft2(unsigned long long l) { return si::area<square_foot, std::int64_t>(l); }
constexpr auto operator"" _q_ft2(long double l) { return si::area<square_foot, long double>(l); }
consteval auto operator"" _q_ft2(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return si::area<square_foot, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_ft2(long double l) { return si::area<square_foot, long double>(l); }
} // namespace literals

View File

@ -32,8 +32,8 @@ struct mile_per_hour : deduced_unit<mile_per_hour, si::dim_speed, si::internatio
inline namespace literals {
// mi/h
constexpr auto operator"" _q_mi_per_h(unsigned long long l) { return si::speed<mile_per_hour, std::int64_t>(l); }
constexpr auto operator"" _q_mi_per_h(long double l) { return si::speed<mile_per_hour, long double>(l); }
consteval auto operator"" _q_mi_per_h(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return si::speed<mile_per_hour, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_mi_per_h(long double l) { return si::speed<mile_per_hour, long double>(l); }
} // namespace literals

View File

@ -32,8 +32,8 @@ struct cubic_foot : deduced_unit<cubic_foot, si::dim_volume, si::international::
inline namespace literals {
// ft3
constexpr auto operator"" _q_ft3(unsigned long long l) { return si::volume<cubic_foot, std::int64_t>(l); }
constexpr auto operator"" _q_ft3(long double l) { return si::volume<cubic_foot, long double>(l); }
consteval auto operator"" _q_ft3(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return si::volume<cubic_foot, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_ft3(long double l) { return si::volume<cubic_foot, long double>(l); }
} // namespace literals

View File

@ -36,20 +36,20 @@ struct point_prn : named_scaled_unit<point_prn, "point(prn)", no_prefix, ratio(1
inline namespace literals {
// pica comp
constexpr auto operator"" _q_pica_comp(unsigned long long l) { return si::length<pica_comp, std::int64_t>(l); }
constexpr auto operator"" _q_pica_comp(long double l) { return si::length<pica_comp, long double>(l); }
consteval auto operator"" _q_pica_comp(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return si::length<pica_comp, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_pica_comp(long double l) { return si::length<pica_comp, long double>(l); }
// pica prn
constexpr auto operator"" _q_pica_prn(unsigned long long l) { return si::length<pica_prn, std::int64_t>(l); }
constexpr auto operator"" _q_pica_prn(long double l) { return si::length<pica_prn, long double>(l); }
consteval auto operator"" _q_pica_prn(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return si::length<pica_prn, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_pica_prn(long double l) { return si::length<pica_prn, long double>(l); }
// point comp
constexpr auto operator"" _q_point_comp(unsigned long long l) { return si::length<point_comp, std::int64_t>(l); }
constexpr auto operator"" _q_point_comp(long double l) { return si::length<point_comp, long double>(l); }
consteval auto operator"" _q_point_comp(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return si::length<point_comp, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_point_comp(long double l) { return si::length<point_comp, long double>(l); }
// point prn
constexpr auto operator"" _q_point_prn(unsigned long long l) { return si::length<point_prn, std::int64_t>(l); }
constexpr auto operator"" _q_point_prn(long double l) { return si::length<point_prn, long double>(l); }
consteval auto operator"" _q_point_prn(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return si::length<point_prn, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_point_prn(long double l) { return si::length<point_prn, long double>(l); }
} // namespace literals

View File

@ -40,16 +40,16 @@ struct mile : named_scaled_unit<mile, "mi(us)", no_prefix, ratio(5280), foot> {}
inline namespace literals {
// ft
constexpr auto operator"" _q_ft_us(unsigned long long l) { return si::length<units::physical::si::us::foot, std::int64_t>(l); }
constexpr auto operator"" _q_ft_us(long double l) { return si::length<units::physical::si::us::foot, long double>(l); }
consteval auto operator"" _q_ft_us(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return si::length<units::physical::si::us::foot, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_ft_us(long double l) { return si::length<units::physical::si::us::foot, long double>(l); }
// fathom
constexpr auto operator"" _q_fathom_us(unsigned long long l) { return si::length<units::physical::si::us::fathom, std::int64_t>(l); }
constexpr auto operator"" _q_fathom_us(long double l) { return si::length<units::physical::si::us::fathom, long double>(l); }
consteval auto operator"" _q_fathom_us(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return si::length<units::physical::si::us::fathom, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_fathom_us(long double l) { return si::length<units::physical::si::us::fathom, long double>(l); }
// mi
constexpr auto operator"" _q_mi_us(unsigned long long l) { return si::length<units::physical::si::us::mile, std::int64_t>(l); }
constexpr auto operator"" _q_mi_us(long double l) { return si::length<units::physical::si::us::mile, long double>(l); }
consteval auto operator"" _q_mi_us(unsigned long long l) { gsl_Expects(std::in_range<std::int64_t>(l)); return si::length<units::physical::si::us::mile, std::int64_t>(static_cast<std::int64_t>(l)); }
consteval auto operator"" _q_mi_us(long double l) { return si::length<units::physical::si::us::mile, long double>(l); }
} // namespace literals