i am so done with compilers for today , WHY IS STD::SWAP NOT A CONSTEXPR ASDFOWQWDO (31b5632 7378bcb follow-up grml)

This commit is contained in:
Treeston
2019-08-12 14:33:04 +02:00
parent 7378bcb418
commit 0a40252c29

View File

@@ -112,12 +112,13 @@ namespace advstd
template <typename T1, typename T2>
constexpr std::enable_if_t<advstd::is_unsigned_v<T1> && advstd::is_unsigned_v<T2>, std::common_type_t<T1, T2>> gcd(T1 _m, T2 _n)
{
std::common_type_t<T1, T2> n = _n, m = _m;
using T = std::common_type_t<T1, T2>;
T n=_n, m=_m, o;
while (n)
{
std::swap(m,n);
if (m <= n)
n %= m;
o = m;
m = n;
n = o%n;
}
return m;
}