template <typename T, typename U> \
struct Clamped##NAME##Op< \
T, U, \
typename
std::enable_if<std::is_floating_point<T>::value || \
std::is_floating_point<U>::value>
::type> { \
using result_type = typename MaxExponentPromotion<T, U>::type; \
template <typename V = result_type> \
static constexpr V Do(T
x, U
y) { \
return saturated_cast<V>(
x OP
y); \
} \
};
322 { \
323 using result_type = typename MaxExponentPromotion<T, U>::type; \
324 template <typename V = result_type> \
325 static constexpr V Do(T
x, U
y) { \
326 return saturated_cast<V>(
x OP
y); \
327 } \
328 };