Change enum class to plain enum

This commit is contained in:
baldurk 2016-10-13 19:28:20 +02:00
parent 31d5d48812
commit 033d3ef22c
2 changed files with 13 additions and 14 deletions

View File

@ -797,7 +797,7 @@ Id Builder::makeFloat16Constant(float f16, bool specConstant)
spvutils::HexFloat<spvutils::FloatProxy<float>> fVal(f16);
spvutils::HexFloat<spvutils::FloatProxy<spvutils::Float16>> f16Val(0);
fVal.castTo(f16Val, spvutils::round_direction::kToZero);
fVal.castTo(f16Val, spvutils::kRoundToZero);
unsigned value = f16Val.value().getAsFloat().get_value();

View File

@ -226,12 +226,11 @@ struct HexFloatTraits<FloatProxy<Float16>> {
static const uint_type exponent_bias = 15;
};
enum class round_direction {
kToZero,
kToNearestEven,
kToPositiveInfinity,
kToNegativeInfinity,
max = kToNegativeInfinity
enum round_direction {
kRoundToZero,
kRoundToNearestEven,
kRoundToPositiveInfinity,
kRoundToNegativeInfinity
};
// Template class that houses a floating pointer number.
@ -520,15 +519,15 @@ class HexFloat {
// We actually have to narrow the significand here, so we have to follow the
// rounding rules.
switch (dir) {
case round_direction::kToZero:
case kRoundToZero:
break;
case round_direction::kToPositiveInfinity:
case kRoundToPositiveInfinity:
round_away_from_zero = !isNegative();
break;
case round_direction::kToNegativeInfinity:
case kRoundToNegativeInfinity:
round_away_from_zero = isNegative();
break;
case round_direction::kToNearestEven:
case kRoundToNearestEven:
// Have to round down, round bit is 0
if ((first_rounded_bit & significand) == 0) {
break;
@ -623,8 +622,8 @@ class HexFloat {
}
bool round_underflow_up =
isNegative() ? round_dir == round_direction::kToNegativeInfinity
: round_dir == round_direction::kToPositiveInfinity;
isNegative() ? round_dir == kRoundToNegativeInfinity
: round_dir == kRoundToPositiveInfinity;
using other_int_type = typename other_T::int_type;
// setFromSignUnbiasedExponentAndNormalizedSignificand will
// zero out any underflowing value (but retain the sign).
@ -812,7 +811,7 @@ ParseNormalFloat<FloatProxy<Float16>, HexFloatTraits<FloatProxy<Float16>>>(
// Then convert to 16-bit float, saturating at infinities, and
// rounding toward zero.
float_val.castTo(value, round_direction::kToZero);
float_val.castTo(value, kRoundToZero);
// Overflow on 16-bit behaves the same as for 32- and 64-bit: set the
// fail bit and set the lowest or highest value.