mirror of
https://github.com/g-truc/glm.git
synced 2024-11-23 09:14:34 +00:00
Merge branch '0.9.3' into swizzle
This commit is contained in:
commit
b4206636b7
@ -165,82 +165,101 @@ namespace detail
|
|||||||
}
|
}
|
||||||
|
|
||||||
template <typename T>
|
template <typename T>
|
||||||
|
template <typename U>
|
||||||
|
GLM_FUNC_QUALIFIER tvec1<T> & tvec1<T>::operator=
|
||||||
|
(
|
||||||
|
tvec1<U> const & v
|
||||||
|
)
|
||||||
|
{
|
||||||
|
this->x = T(v.x);
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
template <typename T>
|
||||||
|
template <typename U>
|
||||||
GLM_FUNC_QUALIFIER tvec1<T> & tvec1<T>::operator+=
|
GLM_FUNC_QUALIFIER tvec1<T> & tvec1<T>::operator+=
|
||||||
(
|
(
|
||||||
value_type const & s
|
U const & s
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
this->x += s;
|
this->x += T(s);
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename T>
|
template <typename T>
|
||||||
|
template <typename U>
|
||||||
GLM_FUNC_QUALIFIER tvec1<T> & tvec1<T>::operator+=
|
GLM_FUNC_QUALIFIER tvec1<T> & tvec1<T>::operator+=
|
||||||
(
|
(
|
||||||
tvec1<T> const & v
|
tvec1<U> const & v
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
this->x += v.x;
|
this->x += T(v.x);
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename T>
|
template <typename T>
|
||||||
|
template <typename U>
|
||||||
GLM_FUNC_QUALIFIER tvec1<T> & tvec1<T>::operator-=
|
GLM_FUNC_QUALIFIER tvec1<T> & tvec1<T>::operator-=
|
||||||
(
|
(
|
||||||
value_type const & s
|
U const & s
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
this->x -= s;
|
this->x -= T(s);
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename T>
|
template <typename T>
|
||||||
|
template <typename U>
|
||||||
GLM_FUNC_QUALIFIER tvec1<T> & tvec1<T>::operator-=
|
GLM_FUNC_QUALIFIER tvec1<T> & tvec1<T>::operator-=
|
||||||
(
|
(
|
||||||
tvec1<T> const & v
|
tvec1<U> const & v
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
this->x -= v.x;
|
this->x -= T(v.x);
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename T>
|
template <typename T>
|
||||||
|
template <typename U>
|
||||||
GLM_FUNC_QUALIFIER tvec1<T> & tvec1<T>::operator*=
|
GLM_FUNC_QUALIFIER tvec1<T> & tvec1<T>::operator*=
|
||||||
(
|
(
|
||||||
value_type const & s
|
U const & s
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
this->x *= s;
|
this->x *= T(s);
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename T>
|
template <typename T>
|
||||||
|
template <typename U>
|
||||||
GLM_FUNC_QUALIFIER tvec1<T> & tvec1<T>::operator*=
|
GLM_FUNC_QUALIFIER tvec1<T> & tvec1<T>::operator*=
|
||||||
(
|
(
|
||||||
tvec1<T> const & v
|
tvec1<U> const & v
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
this->x *= v.x;
|
this->x *= T(v.x);
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename T>
|
template <typename T>
|
||||||
|
template <typename U>
|
||||||
GLM_FUNC_QUALIFIER tvec1<T> & tvec1<T>::operator/=
|
GLM_FUNC_QUALIFIER tvec1<T> & tvec1<T>::operator/=
|
||||||
(
|
(
|
||||||
value_type const & s
|
U const & s
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
this->x /= s;
|
this->x /= T(s);
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename T>
|
template <typename T>
|
||||||
|
template <typename U>
|
||||||
GLM_FUNC_QUALIFIER tvec1<T> & tvec1<T>::operator/=
|
GLM_FUNC_QUALIFIER tvec1<T> & tvec1<T>::operator/=
|
||||||
(
|
(
|
||||||
tvec1<T> const & v
|
tvec1<U> const & v
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
this->x /= v.x;
|
this->x /= T(v.x);
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -285,122 +304,134 @@ namespace detail
|
|||||||
// Unary bit operators
|
// Unary bit operators
|
||||||
|
|
||||||
template <typename T>
|
template <typename T>
|
||||||
|
template <typename U>
|
||||||
GLM_FUNC_QUALIFIER tvec1<T> & tvec1<T>::operator%=
|
GLM_FUNC_QUALIFIER tvec1<T> & tvec1<T>::operator%=
|
||||||
(
|
(
|
||||||
value_type const & s
|
U const & s
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
this->x %= s;
|
this->x %= T(s);
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename T>
|
template <typename T>
|
||||||
|
template <typename U>
|
||||||
GLM_FUNC_QUALIFIER tvec1<T> & tvec1<T>::operator%=
|
GLM_FUNC_QUALIFIER tvec1<T> & tvec1<T>::operator%=
|
||||||
(
|
(
|
||||||
tvec1<T> const & v
|
tvec1<U> const & v
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
this->x %= v.x;
|
this->x %= T(v.x);
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename T>
|
template <typename T>
|
||||||
|
template <typename U>
|
||||||
GLM_FUNC_QUALIFIER tvec1<T> & tvec1<T>::operator&=
|
GLM_FUNC_QUALIFIER tvec1<T> & tvec1<T>::operator&=
|
||||||
(
|
(
|
||||||
value_type const & s
|
U const & s
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
this->x &= s;
|
this->x &= T(s);
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename T>
|
template <typename T>
|
||||||
|
template <typename U>
|
||||||
GLM_FUNC_QUALIFIER tvec1<T> & tvec1<T>::operator&=
|
GLM_FUNC_QUALIFIER tvec1<T> & tvec1<T>::operator&=
|
||||||
(
|
(
|
||||||
tvec1<T> const & v
|
tvec1<U> const & v
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
this->x &= v.x;
|
this->x &= T(v.x);
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename T>
|
template <typename T>
|
||||||
|
template <typename U>
|
||||||
GLM_FUNC_QUALIFIER tvec1<T> & tvec1<T>::operator|=
|
GLM_FUNC_QUALIFIER tvec1<T> & tvec1<T>::operator|=
|
||||||
(
|
(
|
||||||
value_type const & s
|
U const & s
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
this->x |= s;
|
this->x |= T(s);
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename T>
|
template <typename T>
|
||||||
|
template <typename U>
|
||||||
GLM_FUNC_QUALIFIER tvec1<T> & tvec1<T>::operator|=
|
GLM_FUNC_QUALIFIER tvec1<T> & tvec1<T>::operator|=
|
||||||
(
|
(
|
||||||
tvec1<T> const & v
|
tvec1<U> const & v
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
this->x |= v.x;
|
this->x |= U(v.x);
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename T>
|
template <typename T>
|
||||||
|
template <typename U>
|
||||||
GLM_FUNC_QUALIFIER tvec1<T> & tvec1<T>::operator^=
|
GLM_FUNC_QUALIFIER tvec1<T> & tvec1<T>::operator^=
|
||||||
(
|
(
|
||||||
value_type const & s
|
U const & s
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
this->x ^= s;
|
this->x ^= T(s);
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename T>
|
template <typename T>
|
||||||
|
template <typename U>
|
||||||
GLM_FUNC_QUALIFIER tvec1<T> & tvec1<T>::operator^=
|
GLM_FUNC_QUALIFIER tvec1<T> & tvec1<T>::operator^=
|
||||||
(
|
(
|
||||||
tvec1<T> const & v
|
tvec1<U> const & v
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
this->x ^= v.x;
|
this->x ^= T(v.x);
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename T>
|
template <typename T>
|
||||||
|
template <typename U>
|
||||||
GLM_FUNC_QUALIFIER tvec1<T> & tvec1<T>::operator<<=
|
GLM_FUNC_QUALIFIER tvec1<T> & tvec1<T>::operator<<=
|
||||||
(
|
(
|
||||||
value_type const & s
|
U const & s
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
this->x <<= s;
|
this->x <<= T(s);
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename T>
|
template <typename T>
|
||||||
|
template <typename U>
|
||||||
GLM_FUNC_QUALIFIER tvec1<T> & tvec1<T>::operator<<=
|
GLM_FUNC_QUALIFIER tvec1<T> & tvec1<T>::operator<<=
|
||||||
(
|
(
|
||||||
tvec1<T> const & v
|
tvec1<U> const & v
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
this->x <<= v.x;
|
this->x <<= T(v.x);
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename T>
|
template <typename T>
|
||||||
|
template <typename U>
|
||||||
GLM_FUNC_QUALIFIER tvec1<T> & tvec1<T>::operator>>=
|
GLM_FUNC_QUALIFIER tvec1<T> & tvec1<T>::operator>>=
|
||||||
(
|
(
|
||||||
value_type const & s
|
U const & s
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
this->x >>= s;
|
this->x >>= T(s);
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename T>
|
template <typename T>
|
||||||
|
template <typename U>
|
||||||
GLM_FUNC_QUALIFIER tvec1<T> & tvec1<T>::operator>>=
|
GLM_FUNC_QUALIFIER tvec1<T> & tvec1<T>::operator>>=
|
||||||
(
|
(
|
||||||
tvec1<T> const & v
|
tvec1<U> const & v
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
this->x >>= v.x;
|
this->x >>= T(v.x);
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user