diff options
author | jjesswan <jessica_wan@brown.edu> | 2024-04-22 21:56:26 -0400 |
---|---|---|
committer | jjesswan <jessica_wan@brown.edu> | 2024-04-22 21:56:26 -0400 |
commit | a556b45abf18f1bd509daaf63b66b7d55e9fd291 (patch) | |
tree | bc9b8a2d184c12aee236e7f9f276a34b84ca552d /engine-ocean/External/glm-master/glm/gtx/associated_min_max.hpp | |
parent | cd7c76017a12bb548036571c1ff13e551369d06d (diff) |
add engine version
Diffstat (limited to 'engine-ocean/External/glm-master/glm/gtx/associated_min_max.hpp')
-rw-r--r-- | engine-ocean/External/glm-master/glm/gtx/associated_min_max.hpp | 207 |
1 files changed, 207 insertions, 0 deletions
diff --git a/engine-ocean/External/glm-master/glm/gtx/associated_min_max.hpp b/engine-ocean/External/glm-master/glm/gtx/associated_min_max.hpp new file mode 100644 index 0000000..0edd3b0 --- /dev/null +++ b/engine-ocean/External/glm-master/glm/gtx/associated_min_max.hpp @@ -0,0 +1,207 @@ +/// @ref gtx_associated_min_max +/// @file glm/gtx/associated_min_max.hpp +/// +/// @see core (dependence) +/// @see gtx_extented_min_max (dependence) +/// +/// @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. + +#pragma once + +// Dependency: +#include "../glm.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# ifndef GLM_ENABLE_EXPERIMENTAL +# pragma message("GLM: 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.") +# else +# pragma message("GLM: GLM_GTX_associated_min_max extension included") +# endif +#endif + +namespace glm +{ + /// @addtogroup gtx_associated_min_max + /// @{ + + /// Minimum comparison between 2 variables and returns 2 associated variable values + /// @see gtx_associated_min_max + template<typename T, typename U> + 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<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); + + /// Minimum comparison between 2 variables and returns 2 associated variable values + /// @see gtx_associated_min_max + 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<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 + template<typename T, typename U> + GLM_FUNC_DECL U associatedMin( + T x, U a, + T y, U b, + T z, U c); + + /// Minimum comparison between 3 variables and returns 3 associated variable values + /// @see gtx_associated_min_max + 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 + template<typename T, typename U> + GLM_FUNC_DECL U associatedMin( + T x, U a, + T y, U b, + T z, U c, + T w, U d); + + /// Minimum comparison between 4 variables and returns 4 associated variable values + /// @see gtx_associated_min_max + 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<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<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 + template<typename T, typename U> + GLM_FUNC_DECL U associatedMax(T x, U a, T y, U b); + + /// Maximum comparison between 2 variables and returns 2 associated variable values + /// @see gtx_associated_min_max + 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); + + /// Maximum comparison between 2 variables and returns 2 associated variable values + /// @see gtx_associated_min_max + 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<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 + template<typename T, typename U> + GLM_FUNC_DECL U associatedMax( + T x, U a, + T y, U b, + T z, U c); + + /// Maximum comparison between 3 variables and returns 3 associated variable values + /// @see gtx_associated_min_max + 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<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<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 + template<typename T, typename U> + GLM_FUNC_DECL U associatedMax( + T x, U a, + T y, U b, + T z, U c, + T w, U d); + + /// Maximum comparison between 4 variables and returns 4 associated variable values + /// @see gtx_associated_min_max + 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<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<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 + +#include "associated_min_max.inl" |