mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-23 18:36:31 +01:00
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:
@@ -112,12 +112,13 @@ namespace advstd
|
|||||||
template <typename T1, typename T2>
|
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)
|
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)
|
while (n)
|
||||||
{
|
{
|
||||||
std::swap(m,n);
|
o = m;
|
||||||
if (m <= n)
|
m = n;
|
||||||
n %= m;
|
n = o%n;
|
||||||
}
|
}
|
||||||
return m;
|
return m;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user