diff --git a/glm/core/type_vec1.inl b/glm/core/type_vec1.inl index edc225fb..e3fed5c7 100644 --- a/glm/core/type_vec1.inl +++ b/glm/core/type_vec1.inl @@ -165,82 +165,101 @@ namespace detail } template + template + GLM_FUNC_QUALIFIER tvec1 & tvec1::operator= + ( + tvec1 const & v + ) + { + this->x = T(v.x); + return *this; + } + + template + template GLM_FUNC_QUALIFIER tvec1 & tvec1::operator+= ( - value_type const & s + U const & s ) { - this->x += s; + this->x += T(s); return *this; } template + template GLM_FUNC_QUALIFIER tvec1 & tvec1::operator+= ( - tvec1 const & v + tvec1 const & v ) { - this->x += v.x; + this->x += T(v.x); return *this; } template + template GLM_FUNC_QUALIFIER tvec1 & tvec1::operator-= ( - value_type const & s + U const & s ) { - this->x -= s; + this->x -= T(s); return *this; } template + template GLM_FUNC_QUALIFIER tvec1 & tvec1::operator-= ( - tvec1 const & v + tvec1 const & v ) { - this->x -= v.x; + this->x -= T(v.x); return *this; } template + template GLM_FUNC_QUALIFIER tvec1 & tvec1::operator*= ( - value_type const & s + U const & s ) { - this->x *= s; + this->x *= T(s); return *this; } template + template GLM_FUNC_QUALIFIER tvec1 & tvec1::operator*= ( - tvec1 const & v + tvec1 const & v ) { - this->x *= v.x; + this->x *= T(v.x); return *this; } template + template GLM_FUNC_QUALIFIER tvec1 & tvec1::operator/= ( - value_type const & s + U const & s ) { - this->x /= s; + this->x /= T(s); return *this; } template + template GLM_FUNC_QUALIFIER tvec1 & tvec1::operator/= ( - tvec1 const & v + tvec1 const & v ) { - this->x /= v.x; + this->x /= T(v.x); return *this; } @@ -285,122 +304,134 @@ namespace detail // Unary bit operators template + template GLM_FUNC_QUALIFIER tvec1 & tvec1::operator%= ( - value_type const & s + U const & s ) { - this->x %= s; + this->x %= T(s); return *this; } template + template GLM_FUNC_QUALIFIER tvec1 & tvec1::operator%= ( - tvec1 const & v + tvec1 const & v ) { - this->x %= v.x; + this->x %= T(v.x); return *this; } template + template GLM_FUNC_QUALIFIER tvec1 & tvec1::operator&= ( - value_type const & s + U const & s ) { - this->x &= s; + this->x &= T(s); return *this; } template + template GLM_FUNC_QUALIFIER tvec1 & tvec1::operator&= ( - tvec1 const & v + tvec1 const & v ) { - this->x &= v.x; + this->x &= T(v.x); return *this; } template + template GLM_FUNC_QUALIFIER tvec1 & tvec1::operator|= ( - value_type const & s + U const & s ) { - this->x |= s; + this->x |= T(s); return *this; } template + template GLM_FUNC_QUALIFIER tvec1 & tvec1::operator|= ( - tvec1 const & v + tvec1 const & v ) { - this->x |= v.x; + this->x |= U(v.x); return *this; } template + template GLM_FUNC_QUALIFIER tvec1 & tvec1::operator^= ( - value_type const & s + U const & s ) { - this->x ^= s; + this->x ^= T(s); return *this; } template + template GLM_FUNC_QUALIFIER tvec1 & tvec1::operator^= ( - tvec1 const & v + tvec1 const & v ) { - this->x ^= v.x; + this->x ^= T(v.x); return *this; } template + template GLM_FUNC_QUALIFIER tvec1 & tvec1::operator<<= ( - value_type const & s + U const & s ) { - this->x <<= s; + this->x <<= T(s); return *this; } template + template GLM_FUNC_QUALIFIER tvec1 & tvec1::operator<<= ( - tvec1 const & v + tvec1 const & v ) { - this->x <<= v.x; + this->x <<= T(v.x); return *this; } template + template GLM_FUNC_QUALIFIER tvec1 & tvec1::operator>>= ( - value_type const & s + U const & s ) { - this->x >>= s; + this->x >>= T(s); return *this; } template + template GLM_FUNC_QUALIFIER tvec1 & tvec1::operator>>= ( - tvec1 const & v + tvec1 const & v ) { - this->x >>= v.x; + this->x >>= T(v.x); return *this; }