mirror of
https://github.com/g-truc/glm.git
synced 2024-11-23 01:14:34 +00:00
Use unary bit operators for binary implementation
This commit is contained in:
parent
d871d753dc
commit
3081b44ed2
@ -830,51 +830,31 @@ namespace detail
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P> operator|(tvec4<T, P> const & v, T scalar)
|
||||
{
|
||||
return tvec4<T, P>(
|
||||
v.x | scalar,
|
||||
v.y | scalar,
|
||||
v.z | scalar,
|
||||
v.w | scalar);
|
||||
return tvec4<T, P>(v) |= scalar;
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P> operator|(tvec4<T, P> const & v, tvec1<T, P> const & scalar)
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P> operator|(tvec4<T, P> const & v1, tvec1<T, P> const & v2)
|
||||
{
|
||||
return tvec4<T, P>(
|
||||
v.x | scalar.x,
|
||||
v.y | scalar.x,
|
||||
v.z | scalar.x,
|
||||
v.w | scalar.x);
|
||||
return tvec4<T, P>(v1) |= v2;
|
||||
}
|
||||
|
||||
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…
Reference in New Issue
Block a user