"vscode:/vscode.git/clone" did not exist on "e81dc0e27d52c1ac145ab8383787f876827bbaca"
Commit f54be162 authored by Shucai Xiao's avatar Shucai Xiao
Browse files

fixed an overflow problem for integer type.

parent 67a5730a
......@@ -25,7 +25,7 @@ constexpr T normalize(unsigned long z)
template <class T, MIGRAPHX_REQUIRES(is_signed<T>{} and not is_floating_point<T>{})>
constexpr T normalize(unsigned long z)
{
const auto max = std::numeric_limits<T>::max();
const auto max = std::numeric_limits<T>::max() / 64;
const auto half_max = max / 2;
return half_max - (z % max);
}
......@@ -33,7 +33,7 @@ constexpr T normalize(unsigned long z)
template <class T, MIGRAPHX_REQUIRES(not is_signed<T>{} and std::is_integral<T>{})>
constexpr T normalize(unsigned long z)
{
const auto max = std::numeric_limits<T>::max();
const auto max = std::numeric_limits<T>::max() / 64;
return z % max;
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment