Use unary bit operators for binary implementation

master
Christophe Riccio ago%!(EXTRA string=9 years)
parent 3081b44ed2
commit b87ead8304
  1. 26
      glm/detail/type_vec4.inl

@ -790,41 +790,25 @@ namespace detail
template <typename T, precision P>
GLM_FUNC_QUALIFIER tvec4<T, P> operator&(tvec4<T, P> const & v, tvec1<T, P> const & scalar)
{
return tvec4<T, P>(
v.x & scalar.x,
v.y & scalar.x,
v.z & scalar.x,
v.w & scalar.x);
return tvec4<T, P>(v) &= scalar;
}
template <typename T, precision P>
GLM_FUNC_QUALIFIER tvec4<T, P> operator&(T scalar, tvec4<T, P> const & v)
{
return tvec4<T, P>(
scalar & v.x,
scalar & v.y,
scalar & v.z,
scalar & v.w);
return tvec4<T, P>(scalar) &= v;
}
template <typename T, precision P>
GLM_FUNC_QUALIFIER tvec4<T, P> operator&(tvec1<T, P> const & scalar, tvec4<T, P> const & v)
GLM_FUNC_QUALIFIER tvec4<T, P> operator&(tvec1<T, P> const & v1, tvec4<T, P> const & v2)
{
return tvec4<T, P>(
scalar.x & v.x,
scalar.x & v.y,
scalar.x & v.z,
scalar.x & v.w);
return tvec4<T, P>(v1.x) &= v2;
}
template <typename T, precision P>
GLM_FUNC_QUALIFIER tvec4<T, P> operator&(tvec4<T, P> const & v1, tvec4<T, P> const & v2)
{
return tvec4<T, P>(
v1.x & v2.x,
v1.y & v2.y,
v1.z & v2.z,
v1.w & v2.w);
return tvec4<T, P>(v1) &= v2;
}
template <typename T, precision P>

Loading…
Cancel
Save