summaryrefslogtreecommitdiffstats
path: root/external/include/glm/gtx/associated_min_max.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'external/include/glm/gtx/associated_min_max.hpp')
-rw-r--r--external/include/glm/gtx/associated_min_max.hpp171
1 files changed, 88 insertions, 83 deletions
diff --git a/external/include/glm/gtx/associated_min_max.hpp b/external/include/glm/gtx/associated_min_max.hpp
index eb9d721..42ac2eb 100644
--- a/external/include/glm/gtx/associated_min_max.hpp
+++ b/external/include/glm/gtx/associated_min_max.hpp
@@ -6,15 +6,20 @@
///
/// @defgroup gtx_associated_min_max GLM_GTX_associated_min_max
/// @ingroup gtx
-///
+///
+/// Include <glm/gtx/associated_min_max.hpp> to use the features of this extension.
+///
/// @brief Min and max functions that return associated values not the compared onces.
-/// <glm/gtx/associated_min_max.hpp> need to be included to use these functionalities.
#pragma once
// Dependency:
#include "../glm.hpp"
+#ifndef GLM_ENABLE_EXPERIMENTAL
+# error "GLM: GTX_associated_min_max is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+#endif
+
#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED)
# pragma message("GLM: GLM_GTX_associated_min_max extension included")
#endif
@@ -26,29 +31,29 @@ namespace glm
/// Minimum comparison between 2 variables and returns 2 associated variable values
/// @see gtx_associated_min_max
- template<typename T, typename U, precision P>
+ template<typename T, typename U, qualifier Q>
GLM_FUNC_DECL U associatedMin(T x, U a, T y, U b);
/// Minimum comparison between 2 variables and returns 2 associated variable values
/// @see gtx_associated_min_max
- template<typename T, typename U, precision P, template <typename, precision> class vecType>
- GLM_FUNC_DECL tvec2<U, P> associatedMin(
- vecType<T, P> const & x, vecType<U, P> const & a,
- vecType<T, P> const & y, vecType<U, P> const & b);
+ template<length_t L, typename T, typename U, qualifier Q>
+ GLM_FUNC_DECL vec<2, U, Q> associatedMin(
+ vec<L, T, Q> const& x, vec<L, U, Q> const& a,
+ vec<L, T, Q> const& y, vec<L, U, Q> const& b);
/// Minimum comparison between 2 variables and returns 2 associated variable values
/// @see gtx_associated_min_max
- template<typename T, typename U, precision P, template <typename, precision> class vecType>
- GLM_FUNC_DECL vecType<U, P> associatedMin(
- T x, const vecType<U, P>& a,
- T y, const vecType<U, P>& b);
+ template<length_t L, typename T, typename U, qualifier Q>
+ GLM_FUNC_DECL vec<L, U, Q> associatedMin(
+ T x, const vec<L, U, Q>& a,
+ T y, const vec<L, U, Q>& b);
/// Minimum comparison between 2 variables and returns 2 associated variable values
/// @see gtx_associated_min_max
- template<typename T, typename U, precision P, template <typename, precision> class vecType>
- GLM_FUNC_DECL vecType<U, P> associatedMin(
- vecType<T, P> const & x, U a,
- vecType<T, P> const & y, U b);
+ template<length_t L, typename T, typename U, qualifier Q>
+ GLM_FUNC_DECL vec<L, U, Q> associatedMin(
+ vec<L, T, Q> const& x, U a,
+ vec<L, T, Q> const& y, U b);
/// Minimum comparison between 3 variables and returns 3 associated variable values
/// @see gtx_associated_min_max
@@ -60,11 +65,11 @@ namespace glm
/// Minimum comparison between 3 variables and returns 3 associated variable values
/// @see gtx_associated_min_max
- template<typename T, typename U, precision P, template <typename, precision> class vecType>
- GLM_FUNC_DECL vecType<U, P> associatedMin(
- vecType<T, P> const & x, vecType<U, P> const & a,
- vecType<T, P> const & y, vecType<U, P> const & b,
- vecType<T, P> const & z, vecType<U, P> const & c);
+ template<length_t L, typename T, typename U, qualifier Q>
+ GLM_FUNC_DECL vec<L, U, Q> associatedMin(
+ vec<L, T, Q> const& x, vec<L, U, Q> const& a,
+ vec<L, T, Q> const& y, vec<L, U, Q> const& b,
+ vec<L, T, Q> const& z, vec<L, U, Q> const& c);
/// Minimum comparison between 4 variables and returns 4 associated variable values
/// @see gtx_associated_min_max
@@ -77,30 +82,30 @@ namespace glm
/// Minimum comparison between 4 variables and returns 4 associated variable values
/// @see gtx_associated_min_max
- template<typename T, typename U, precision P, template <typename, precision> class vecType>
- GLM_FUNC_DECL vecType<U, P> associatedMin(
- vecType<T, P> const & x, vecType<U, P> const & a,
- vecType<T, P> const & y, vecType<U, P> const & b,
- vecType<T, P> const & z, vecType<U, P> const & c,
- vecType<T, P> const & w, vecType<U, P> const & d);
+ template<length_t L, typename T, typename U, qualifier Q>
+ GLM_FUNC_DECL vec<L, U, Q> associatedMin(
+ vec<L, T, Q> const& x, vec<L, U, Q> const& a,
+ vec<L, T, Q> const& y, vec<L, U, Q> const& b,
+ vec<L, T, Q> const& z, vec<L, U, Q> const& c,
+ vec<L, T, Q> const& w, vec<L, U, Q> const& d);
/// Minimum comparison between 4 variables and returns 4 associated variable values
/// @see gtx_associated_min_max
- template<typename T, typename U, precision P, template <typename, precision> class vecType>
- GLM_FUNC_DECL vecType<U, P> associatedMin(
- T x, vecType<U, P> const & a,
- T y, vecType<U, P> const & b,
- T z, vecType<U, P> const & c,
- T w, vecType<U, P> const & d);
+ template<length_t L, typename T, typename U, qualifier Q>
+ GLM_FUNC_DECL vec<L, U, Q> associatedMin(
+ T x, vec<L, U, Q> const& a,
+ T y, vec<L, U, Q> const& b,
+ T z, vec<L, U, Q> const& c,
+ T w, vec<L, U, Q> const& d);
/// Minimum comparison between 4 variables and returns 4 associated variable values
/// @see gtx_associated_min_max
- template<typename T, typename U, precision P, template <typename, precision> class vecType>
- GLM_FUNC_DECL vecType<U, P> associatedMin(
- vecType<T, P> const & x, U a,
- vecType<T, P> const & y, U b,
- vecType<T, P> const & z, U c,
- vecType<T, P> const & w, U d);
+ template<length_t L, typename T, typename U, qualifier Q>
+ GLM_FUNC_DECL vec<L, U, Q> associatedMin(
+ vec<L, T, Q> const& x, U a,
+ vec<L, T, Q> const& y, U b,
+ vec<L, T, Q> const& z, U c,
+ vec<L, T, Q> const& w, U d);
/// Maximum comparison between 2 variables and returns 2 associated variable values
/// @see gtx_associated_min_max
@@ -109,24 +114,24 @@ namespace glm
/// Maximum comparison between 2 variables and returns 2 associated variable values
/// @see gtx_associated_min_max
- template<typename T, typename U, precision P, template <typename, precision> class vecType>
- GLM_FUNC_DECL tvec2<U, P> associatedMax(
- vecType<T, P> const & x, vecType<U, P> const & a,
- vecType<T, P> const & y, vecType<U, P> const & b);
+ template<length_t L, typename T, typename U, qualifier Q>
+ GLM_FUNC_DECL vec<2, U, Q> associatedMax(
+ vec<L, T, Q> const& x, vec<L, U, Q> const& a,
+ vec<L, T, Q> const& y, vec<L, U, Q> const& b);
/// Maximum comparison between 2 variables and returns 2 associated variable values
/// @see gtx_associated_min_max
- template<typename T, typename U, precision P, template <typename, precision> class vecType>
- GLM_FUNC_DECL vecType<T, P> associatedMax(
- T x, vecType<U, P> const & a,
- T y, vecType<U, P> const & b);
+ template<length_t L, typename T, typename U, qualifier Q>
+ GLM_FUNC_DECL vec<L, T, Q> associatedMax(
+ T x, vec<L, U, Q> const& a,
+ T y, vec<L, U, Q> const& b);
/// Maximum comparison between 2 variables and returns 2 associated variable values
/// @see gtx_associated_min_max
- template<typename T, typename U, precision P, template <typename, precision> class vecType>
- GLM_FUNC_DECL vecType<U, P> associatedMax(
- vecType<T, P> const & x, U a,
- vecType<T, P> const & y, U b);
+ template<length_t L, typename T, typename U, qualifier Q>
+ GLM_FUNC_DECL vec<L, U, Q> associatedMax(
+ vec<L, T, Q> const& x, U a,
+ vec<L, T, Q> const& y, U b);
/// Maximum comparison between 3 variables and returns 3 associated variable values
/// @see gtx_associated_min_max
@@ -138,27 +143,27 @@ namespace glm
/// Maximum comparison between 3 variables and returns 3 associated variable values
/// @see gtx_associated_min_max
- template<typename T, typename U, precision P, template <typename, precision> class vecType>
- GLM_FUNC_DECL vecType<U, P> associatedMax(
- vecType<T, P> const & x, vecType<U, P> const & a,
- vecType<T, P> const & y, vecType<U, P> const & b,
- vecType<T, P> const & z, vecType<U, P> const & c);
+ template<length_t L, typename T, typename U, qualifier Q>
+ GLM_FUNC_DECL vec<L, U, Q> associatedMax(
+ vec<L, T, Q> const& x, vec<L, U, Q> const& a,
+ vec<L, T, Q> const& y, vec<L, U, Q> const& b,
+ vec<L, T, Q> const& z, vec<L, U, Q> const& c);
/// Maximum comparison between 3 variables and returns 3 associated variable values
/// @see gtx_associated_min_max
- template<typename T, typename U, precision P, template <typename, precision> class vecType>
- GLM_FUNC_DECL vecType<T, P> associatedMax(
- T x, vecType<U, P> const & a,
- T y, vecType<U, P> const & b,
- T z, vecType<U, P> const & c);
+ template<length_t L, typename T, typename U, qualifier Q>
+ GLM_FUNC_DECL vec<L, T, Q> associatedMax(
+ T x, vec<L, U, Q> const& a,
+ T y, vec<L, U, Q> const& b,
+ T z, vec<L, U, Q> const& c);
/// Maximum comparison between 3 variables and returns 3 associated variable values
/// @see gtx_associated_min_max
- template<typename T, typename U, precision P, template <typename, precision> class vecType>
- GLM_FUNC_DECL vecType<U, P> associatedMax(
- vecType<T, P> const & x, U a,
- vecType<T, P> const & y, U b,
- vecType<T, P> const & z, U c);
+ template<length_t L, typename T, typename U, qualifier Q>
+ GLM_FUNC_DECL vec<L, U, Q> associatedMax(
+ vec<L, T, Q> const& x, U a,
+ vec<L, T, Q> const& y, U b,
+ vec<L, T, Q> const& z, U c);
/// Maximum comparison between 4 variables and returns 4 associated variable values
/// @see gtx_associated_min_max
@@ -171,30 +176,30 @@ namespace glm
/// Maximum comparison between 4 variables and returns 4 associated variable values
/// @see gtx_associated_min_max
- template<typename T, typename U, precision P, template <typename, precision> class vecType>
- GLM_FUNC_DECL vecType<U, P> associatedMax(
- vecType<T, P> const & x, vecType<U, P> const & a,
- vecType<T, P> const & y, vecType<U, P> const & b,
- vecType<T, P> const & z, vecType<U, P> const & c,
- vecType<T, P> const & w, vecType<U, P> const & d);
+ template<length_t L, typename T, typename U, qualifier Q>
+ GLM_FUNC_DECL vec<L, U, Q> associatedMax(
+ vec<L, T, Q> const& x, vec<L, U, Q> const& a,
+ vec<L, T, Q> const& y, vec<L, U, Q> const& b,
+ vec<L, T, Q> const& z, vec<L, U, Q> const& c,
+ vec<L, T, Q> const& w, vec<L, U, Q> const& d);
/// Maximum comparison between 4 variables and returns 4 associated variable values
/// @see gtx_associated_min_max
- template<typename T, typename U, precision P, template <typename, precision> class vecType>
- GLM_FUNC_DECL vecType<U, P> associatedMax(
- T x, vecType<U, P> const & a,
- T y, vecType<U, P> const & b,
- T z, vecType<U, P> const & c,
- T w, vecType<U, P> const & d);
+ template<length_t L, typename T, typename U, qualifier Q>
+ GLM_FUNC_DECL vec<L, U, Q> associatedMax(
+ T x, vec<L, U, Q> const& a,
+ T y, vec<L, U, Q> const& b,
+ T z, vec<L, U, Q> const& c,
+ T w, vec<L, U, Q> const& d);
/// Maximum comparison between 4 variables and returns 4 associated variable values
/// @see gtx_associated_min_max
- template<typename T, typename U, precision P, template <typename, precision> class vecType>
- GLM_FUNC_DECL vecType<U, P> associatedMax(
- vecType<T, P> const & x, U a,
- vecType<T, P> const & y, U b,
- vecType<T, P> const & z, U c,
- vecType<T, P> const & w, U d);
+ template<length_t L, typename T, typename U, qualifier Q>
+ GLM_FUNC_DECL vec<L, U, Q> associatedMax(
+ vec<L, T, Q> const& x, U a,
+ vec<L, T, Q> const& y, U b,
+ vec<L, T, Q> const& z, U c,
+ vec<L, T, Q> const& w, U d);
/// @}
} //namespace glm