Updated equal and not equal operators for vectors

master
Christophe Riccio ago%!(EXTRA string=14 years)
parent 33a2629f4a
commit efce35f901
  1. 23
      glm/core/type_vec1.inl
  2. 23
      glm/core/type_vec2.inl
  3. 23
      glm/core/type_vec3.inl
  4. 36
      glm/core/type_vec4.inl
  5. 7
      glm/gtx/comparison.hpp
  6. 4
      glm/gtx/comparison.inl

@ -234,6 +234,29 @@ namespace glm
return *this; return *this;
} }
//////////////////////////////////////
// Boolean operators
template <typename T>
inline bool operator==
(
tvec1<T> const & v1,
tvec1<T> const & v2
)
{
return (v1.x == v2.x);
}
template <typename T>
inline bool operator!=
(
tvec1<T> const & v1,
tvec1<T> const & v2
)
{
return (v1.x != v2.x);
}
////////////////////////////////////// //////////////////////////////////////
// Unary bit operators // Unary bit operators

@ -296,6 +296,29 @@ namespace glm
return *this; return *this;
} }
//////////////////////////////////////
// Boolean operators
template <typename T>
inline bool operator==
(
tvec2<T> const & v1,
tvec2<T> const & v2
)
{
return (v1.x == v2.x) && (v1.y == v2.y);
}
template <typename T>
inline bool operator!=
(
tvec2<T> const & v1,
tvec2<T> const & v2
)
{
return (v1.x != v2.x) || (v1.y != v2.y);
}
////////////////////////////////////// //////////////////////////////////////
// Unary bit operators // Unary bit operators

@ -333,6 +333,29 @@ namespace glm
return *this; return *this;
} }
//////////////////////////////////////
// Boolean operators
template <typename T>
inline bool operator==
(
tvec3<T> const & v1,
tvec3<T> const & v2
)
{
return (v1.x == v2.x) && (v1.y == v2.y) && (v1.z == v2.z);
}
template <typename T>
inline bool operator!=
(
tvec3<T> const & v1,
tvec3<T> const & v2
)
{
return (v1.x != v2.x) || (v1.y != v2.y) || (v1.z != v2.z);
}
////////////////////////////////////// //////////////////////////////////////
// Unary bit operators // Unary bit operators

@ -861,6 +861,29 @@ namespace glm
v.w - One); v.w - One);
} }
//////////////////////////////////////
// Boolean operators
template <typename T>
inline bool operator==
(
tvec4<T> const & v1,
tvec4<T> const & v2
)
{
return (v1.x == v2.x) && (v1.y == v2.y) && (v1.z == v2.z) && (v1.w == v2.w);
}
template <typename T>
inline bool operator!=
(
tvec4<T> const & v1,
tvec4<T> const & v2
)
{
return (v1.x != v2.x) || (v1.y != v2.y) || (v1.z != v2.z) || (v1.w != v2.w);
}
////////////////////////////////////// //////////////////////////////////////
// Binary bit operators // Binary bit operators
@ -1129,6 +1152,19 @@ namespace glm
~v.w); ~v.w);
} }
template <typename T>
inline tvec4<T> operator~
(
tvec4<T> const & v
)
{
return tvec4<T>(
~v.x,
~v.y,
~v.z,
~v.w);
}
////////////////////////////////////// //////////////////////////////////////
// tref definition // tref definition

@ -24,8 +24,9 @@ namespace glm
namespace gtx{ namespace gtx{
//! GLM_GTX_comparison extension: Defined comparison operators for vectors. //! GLM_GTX_comparison extension: Defined comparison operators for vectors.
namespace comparison{ namespace comparison
{
/*
//! Define == operator for vectors //! Define == operator for vectors
//! From GLM_GTX_comparison extension. //! From GLM_GTX_comparison extension.
template <typename T> template <typename T>
@ -67,7 +68,7 @@ namespace glm
bool operator!= ( bool operator!= (
detail::tvec4<T> const & x, detail::tvec4<T> const & x,
detail::tvec4<T> const & y); detail::tvec4<T> const & y);
*/
}//namespace comparison }//namespace comparison
}//namespace gtx }//namespace gtx
}//namespace glm }//namespace glm

@ -10,7 +10,7 @@
namespace glm{ namespace glm{
namespace gtx{ namespace gtx{
namespace comparison{ namespace comparison{
/*
template <typename valType> template <typename valType>
inline bool operator== inline bool operator==
( (
@ -70,7 +70,7 @@ inline bool operator!=
{ {
return glm::any(glm::notEqual(x, y)); return glm::any(glm::notEqual(x, y));
} }
*/
}//namespace comparison }//namespace comparison
}//namespace gtx }//namespace gtx
}//namespace glm }//namespace glm

Loading…
Cancel
Save