summaryrefslogtreecommitdiff
path: root/src/glm/core/intrinsic_vector_relational.inl
diff options
context:
space:
mode:
Diffstat (limited to 'src/glm/core/intrinsic_vector_relational.inl')
-rw-r--r--src/glm/core/intrinsic_vector_relational.inl347
1 files changed, 347 insertions, 0 deletions
diff --git a/src/glm/core/intrinsic_vector_relational.inl b/src/glm/core/intrinsic_vector_relational.inl
new file mode 100644
index 0000000..0b8dc9d
--- /dev/null
+++ b/src/glm/core/intrinsic_vector_relational.inl
@@ -0,0 +1,347 @@
+///////////////////////////////////////////////////////////////////////////////////////////////////
+// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)
+///////////////////////////////////////////////////////////////////////////////////////////////////
+// Created : 2009-06-09
+// Updated : 2009-06-09
+// Licence : This source is under MIT License
+// File : glm/core/intrinsic_vector_relational.inl
+///////////////////////////////////////////////////////////////////////////////////////////////////
+//
+//// lessThan
+//template <typename valType>
+//GLM_FUNC_QUALIFIER typename detail::tvec2<valType>::bool_type lessThan
+//(
+// detail::tvec2<valType> const & x,
+// detail::tvec2<valType> const & y
+//)
+//{
+// GLM_STATIC_ASSERT(
+// detail::type<valType>::is_float ||
+// detail::type<valType>::is_int ||
+// detail::type<valType>::is_uint);
+//
+// return typename detail::tvec2<bool>::bool_type(x.x < y.x, x.y < y.y);
+//}
+//
+//template <typename valType>
+//GLM_FUNC_QUALIFIER typename detail::tvec3<valType>::bool_type lessThan
+//(
+// detail::tvec3<valType> const & x,
+// detail::tvec3<valType> const & y
+//)
+//{
+// GLM_STATIC_ASSERT(
+// detail::type<valType>::is_float ||
+// detail::type<valType>::is_int ||
+// detail::type<valType>::is_uint);
+//
+// return typename detail::tvec3<bool>::bool_type(x.x < y.x, x.y < y.y, x.z < y.z);
+//}
+//
+//template <typename valType>
+//GLM_FUNC_QUALIFIER typename detail::tvec4<valType>::bool_type lessThan
+//(
+// detail::tvec4<valType> const & x,
+// detail::tvec4<valType> const & y
+//)
+//{
+// GLM_STATIC_ASSERT(
+// detail::type<valType>::is_float ||
+// detail::type<valType>::is_int ||
+// detail::type<valType>::is_uint);
+//
+// return typename detail::tvec4<bool>::bool_type(x.x < y.x, x.y < y.y, x.z < y.z, x.w < y.w);
+//}
+//
+//// lessThanEqual
+//template <typename valType>
+//GLM_FUNC_QUALIFIER typename detail::tvec2<valType>::bool_type lessThanEqual
+//(
+// detail::tvec2<valType> const & x,
+// detail::tvec2<valType> const & y
+//)
+//{
+// GLM_STATIC_ASSERT(
+// detail::type<valType>::is_float ||
+// detail::type<valType>::is_int ||
+// detail::type<valType>::is_uint);
+//
+// return typename detail::tvec2<bool>::bool_type(x.x <= y.x, x.y <= y.y);
+//}
+//
+//template <typename valType>
+//GLM_FUNC_QUALIFIER typename detail::tvec3<valType>::bool_type lessThanEqual
+//(
+// detail::tvec3<valType> const & x,
+// detail::tvec3<valType> const & y
+//)
+//{
+// GLM_STATIC_ASSERT(
+// detail::type<valType>::is_float ||
+// detail::type<valType>::is_int ||
+// detail::type<valType>::is_uint);
+//
+// return typename detail::tvec3<bool>::bool_type(x.x <= y.x, x.y <= y.y, x.z <= y.z);
+//}
+//
+//template <typename valType>
+//GLM_FUNC_QUALIFIER typename detail::tvec4<valType>::bool_type lessThanEqual
+//(
+// detail::tvec4<valType> const & x,
+// detail::tvec4<valType> const & y
+//)
+//{
+// GLM_STATIC_ASSERT(
+// detail::type<valType>::is_float ||
+// detail::type<valType>::is_int ||
+// detail::type<valType>::is_uint);
+//
+// return typename detail::tvec4<bool>::bool_type(x.x <= y.x, x.y <= y.y, x.z <= y.z, x.w <= y.w);
+//}
+//
+//// greaterThan
+//template <typename valType>
+//GLM_FUNC_QUALIFIER typename detail::tvec2<valType>::bool_type greaterThan
+//(
+// detail::tvec2<valType> const & x,
+// detail::tvec2<valType> const & y
+//)
+//{
+// GLM_STATIC_ASSERT(
+// detail::type<valType>::is_float ||
+// detail::type<valType>::is_int ||
+// detail::type<valType>::is_uint);
+//
+// return typename detail::tvec2<bool>::bool_type(x.x > y.x, x.y > y.y);
+//}
+//
+//template <typename valType>
+//GLM_FUNC_QUALIFIER typename detail::tvec3<valType>::bool_type greaterThan
+//(
+// detail::tvec3<valType> const & x,
+// detail::tvec3<valType> const & y
+//)
+//{
+// GLM_STATIC_ASSERT(
+// detail::type<valType>::is_float ||
+// detail::type<valType>::is_int ||
+// detail::type<valType>::is_uint);
+//
+// return typename detail::tvec3<bool>::bool_type(x.x > y.x, x.y > y.y, x.z > y.z);
+//}
+//
+//template <typename valType>
+//GLM_FUNC_QUALIFIER typename detail::tvec4<valType>::bool_type greaterThan
+//(
+// detail::tvec4<valType> const & x,
+// detail::tvec4<valType> const & y
+//)
+//{
+// GLM_STATIC_ASSERT(
+// detail::type<valType>::is_float ||
+// detail::type<valType>::is_int ||
+// detail::type<valType>::is_uint);
+//
+// return typename detail::tvec4<bool>::bool_type(x.x > y.x, x.y > y.y, x.z > y.z, x.w > y.w);
+//}
+//
+//// greaterThanEqual
+//template <typename valType>
+//GLM_FUNC_QUALIFIER typename detail::tvec2<valType>::bool_type greaterThanEqual
+//(
+// detail::tvec2<valType> const & x,
+// detail::tvec2<valType> const & y
+//)
+//{
+// GLM_STATIC_ASSERT(
+// detail::type<valType>::is_float ||
+// detail::type<valType>::is_int ||
+// detail::type<valType>::is_uint);
+//
+// return typename detail::tvec2<bool>::bool_type(x.x >= y.x, x.y >= y.y);
+//}
+//
+//template <typename valType>
+//GLM_FUNC_QUALIFIER typename detail::tvec3<valType>::bool_type greaterThanEqual
+//(
+// detail::tvec3<valType> const & x,
+// detail::tvec3<valType> const & y
+//)
+//{
+// GLM_STATIC_ASSERT(
+// detail::type<valType>::is_float ||
+// detail::type<valType>::is_int ||
+// detail::type<valType>::is_uint);
+//
+// return typename detail::tvec3<bool>::bool_type(x.x >= y.x, x.y >= y.y, x.z >= y.z);
+//}
+//
+//template <typename valType>
+//GLM_FUNC_QUALIFIER typename detail::tvec4<valType>::bool_type greaterThanEqual
+//(
+// detail::tvec4<valType> const & x,
+// detail::tvec4<valType> const & y
+//)
+//{
+// GLM_STATIC_ASSERT(
+// detail::type<valType>::is_float ||
+// detail::type<valType>::is_int ||
+// detail::type<valType>::is_uint);
+//
+// return typename detail::tvec4<bool>::bool_type(x.x >= y.x, x.y >= y.y, x.z >= y.z, x.w >= y.w);
+//}
+//
+//// equal
+//template <typename valType>
+//GLM_FUNC_QUALIFIER typename detail::tvec2<valType>::bool_type equal
+//(
+// detail::tvec2<valType> const & x,
+// detail::tvec2<valType> const & y
+//)
+//{
+// GLM_STATIC_ASSERT(
+// detail::type<valType>::is_float ||
+// detail::type<valType>::is_int ||
+// detail::type<valType>::is_uint ||
+// detail::type<valType>::is_bool);
+//
+// return typename detail::tvec2<valType>::bool_type(x.x == y.x, x.y == y.y);
+//}
+//
+//template <typename valType>
+//GLM_FUNC_QUALIFIER typename detail::tvec3<valType>::bool_type equal
+//(
+// detail::tvec3<valType> const & x,
+// detail::tvec3<valType> const & y
+//)
+//{
+// GLM_STATIC_ASSERT(
+// detail::type<valType>::is_float ||
+// detail::type<valType>::is_int ||
+// detail::type<valType>::is_uint ||
+// detail::type<valType>::is_bool);
+//
+// return typename detail::tvec3<valType>::bool_type(x.x == y.x, x.y == y.y, x.z == y.z);
+//}
+//
+//template <typename valType>
+//GLM_FUNC_QUALIFIER typename detail::tvec4<valType>::bool_type equal
+//(
+// detail::tvec4<valType> const & x,
+// detail::tvec4<valType> const & y
+//)
+//{
+// GLM_STATIC_ASSERT(
+// detail::type<valType>::is_float ||
+// detail::type<valType>::is_int ||
+// detail::type<valType>::is_uint ||
+// detail::type<valType>::is_bool);
+//
+// return typename detail::tvec4<valType>::bool_type(x.x == y.x, x.y == y.y, x.z == y.z, x.w == y.w);
+//}
+//
+//// notEqual
+//template <typename valType>
+//GLM_FUNC_QUALIFIER typename detail::tvec2<valType>::bool_type notEqual
+//(
+// detail::tvec2<valType> const & x,
+// detail::tvec2<valType> const & y
+//)
+//{
+// GLM_STATIC_ASSERT(
+// detail::type<valType>::is_float ||
+// detail::type<valType>::is_int ||
+// detail::type<valType>::is_uint ||
+// detail::type<valType>::is_bool);
+//
+// return typename detail::tvec2<valType>::bool_type(x.x != y.x, x.y != y.y);
+//}
+//
+//template <typename valType>
+//GLM_FUNC_QUALIFIER typename detail::tvec3<valType>::bool_type notEqual
+//(
+// detail::tvec3<valType> const & x,
+// detail::tvec3<valType> const & y
+//)
+//{
+// GLM_STATIC_ASSERT(
+// detail::type<valType>::is_float ||
+// detail::type<valType>::is_int ||
+// detail::type<valType>::is_uint ||
+// detail::type<valType>::is_bool);
+//
+// return typename detail::tvec3<valType>::bool_type(x.x != y.x, x.y != y.y, x.z != y.z);
+//}
+//
+//template <typename valType>
+//GLM_FUNC_QUALIFIER typename detail::tvec4<valType>::bool_type notEqual
+//(
+// detail::tvec4<valType> const & x,
+// detail::tvec4<valType> const & y
+//)
+//{
+// GLM_STATIC_ASSERT(
+// detail::type<valType>::is_float ||
+// detail::type<valType>::is_int ||
+// detail::type<valType>::is_uint ||
+// detail::type<valType>::is_bool);
+//
+// return typename detail::tvec4<valType>::bool_type(x.x != y.x, x.y != y.y, x.z != y.z, x.w != y.w);
+//}
+//
+//// any
+//GLM_FUNC_QUALIFIER bool any(detail::tvec2<bool> const & x)
+//{
+// return x.x || x.y;
+//}
+//
+//GLM_FUNC_QUALIFIER bool any(detail::tvec3<bool> const & x)
+//{
+// return x.x || x.y || x.z;
+//}
+//
+//GLM_FUNC_QUALIFIER bool any(detail::tvec4<bool> const & x)
+//{
+// return x.x || x.y || x.z || x.w;
+//}
+//
+//// all
+//GLM_FUNC_QUALIFIER bool all(const detail::tvec2<bool>& x)
+//{
+// return x.x && x.y;
+//}
+//
+//GLM_FUNC_QUALIFIER bool all(const detail::tvec3<bool>& x)
+//{
+// return x.x && x.y && x.z;
+//}
+//
+//GLM_FUNC_QUALIFIER bool all(const detail::tvec4<bool>& x)
+//{
+// return x.x && x.y && x.z && x.w;
+//}
+//
+//// not
+//GLM_FUNC_QUALIFIER detail::tvec2<bool>::bool_type not_
+//(
+// detail::tvec2<bool> const & v
+//)
+//{
+// return detail::tvec2<bool>::bool_type(!v.x, !v.y);
+//}
+//
+//GLM_FUNC_QUALIFIER detail::tvec3<bool>::bool_type not_
+//(
+// detail::tvec3<bool> const & v
+//)
+//{
+// return detail::tvec3<bool>::bool_type(!v.x, !v.y, !v.z);
+//}
+//
+//GLM_FUNC_QUALIFIER detail::tvec4<bool>::bool_type not_
+//(
+// detail::tvec4<bool> const & v
+//)
+//{
+// return detail::tvec4<bool>::bool_type(!v.x, !v.y, !v.z, !v.w);
+//} \ No newline at end of file