Remove reference to nonexistant template variable

add-0-integer-specialisation
Pharap 6 years ago
parent 149be22335
commit 7b877680bd
  1. 8
      src/FixedPoints/SFixed0MemberFunctions.h

@ -68,8 +68,8 @@ constexpr typename SFixed<0, Fraction>::InternalType SFixed<0, Fraction>::getInt
template< unsigned Fraction > template< unsigned Fraction >
constexpr typename SFixed<0, Fraction>::IntegerType SFixed<0, Fraction>::getInteger(void) const constexpr typename SFixed<0, Fraction>::IntegerType SFixed<0, Fraction>::getInteger(void) const
{ {
static_assert(false, "UNDEFINED BEHAVIOUR"); //static_assert(false, "UNDEFINED BEHAVIOUR");
//return (static_cast<IntegerType>(this->value >> IntegerShift) & IntegerMask) | ((this->value < 0) ? ~IntegerMask : 0); return (static_cast<IntegerType>(this->value >> IntegerShift) & IntegerMask) | ((this->value < 0) ? ~IntegerMask : 0);
} }
template< unsigned Fraction > template< unsigned Fraction >
@ -172,7 +172,7 @@ template< unsigned Fraction >
SFixed<0, Fraction> & SFixed<0, Fraction>::operator *=(const SFixed<0, Fraction> & other) SFixed<0, Fraction> & SFixed<0, Fraction>::operator *=(const SFixed<0, Fraction> & other)
{ {
using InternalType = typename SFixed<0, Fraction>::InternalType; using InternalType = typename SFixed<0, Fraction>::InternalType;
using PrecisionType = typename SFixed<Integer * 2, Fraction * 2>::InternalType; using PrecisionType = typename SFixed<0, Fraction * 2>::InternalType;
const PrecisionType temp = (static_cast<PrecisionType>(this->value) * static_cast<PrecisionType>(other.value)) >> Fraction; const PrecisionType temp = (static_cast<PrecisionType>(this->value) * static_cast<PrecisionType>(other.value)) >> Fraction;
this->value = static_cast<InternalType>(temp); this->value = static_cast<InternalType>(temp);
return *this; return *this;
@ -182,7 +182,7 @@ template< unsigned Fraction >
SFixed<0, Fraction> & SFixed<0, Fraction>::operator /=(const SFixed<0, Fraction> & other) SFixed<0, Fraction> & SFixed<0, Fraction>::operator /=(const SFixed<0, Fraction> & other)
{ {
using InternalType = typename SFixed<0, Fraction>::InternalType; using InternalType = typename SFixed<0, Fraction>::InternalType;
using PrecisionType = typename SFixed<Integer * 2, Fraction * 2>::InternalType; using PrecisionType = typename SFixed<0, Fraction * 2>::InternalType;
const PrecisionType temp = (static_cast<PrecisionType>(this->value) << Fraction) / static_cast<PrecisionType>(other.value); const PrecisionType temp = (static_cast<PrecisionType>(this->value) << Fraction) / static_cast<PrecisionType>(other.value);
this->value = static_cast<InternalType>(temp); this->value = static_cast<InternalType>(temp);
return *this; return *this;

Loading…
Cancel
Save