1/// @ref gtx_extended_min_max 2/// @file glm/gtx/extended_min_max.inl 3 4namespace glm 5{ 6 template <typename T> 7 GLM_FUNC_QUALIFIER T min( 8 T const & x, 9 T const & y, 10 T const & z) 11 { 12 return glm::min(glm::min(x, y), z); 13 } 14 15 template <typename T, template <typename> class C> 16 GLM_FUNC_QUALIFIER C<T> min 17 ( 18 C<T> const & x, 19 typename C<T>::T const & y, 20 typename C<T>::T const & z 21 ) 22 { 23 return glm::min(glm::min(x, y), z); 24 } 25 26 template <typename T, template <typename> class C> 27 GLM_FUNC_QUALIFIER C<T> min 28 ( 29 C<T> const & x, 30 C<T> const & y, 31 C<T> const & z 32 ) 33 { 34 return glm::min(glm::min(x, y), z); 35 } 36 37 template <typename T> 38 GLM_FUNC_QUALIFIER T min 39 ( 40 T const & x, 41 T const & y, 42 T const & z, 43 T const & w 44 ) 45 { 46 return glm::min(glm::min(x, y), glm::min(z, w)); 47 } 48 49 template <typename T, template <typename> class C> 50 GLM_FUNC_QUALIFIER C<T> min 51 ( 52 C<T> const & x, 53 typename C<T>::T const & y, 54 typename C<T>::T const & z, 55 typename C<T>::T const & w 56 ) 57 { 58 return glm::min(glm::min(x, y), glm::min(z, w)); 59 } 60 61 template <typename T, template <typename> class C> 62 GLM_FUNC_QUALIFIER C<T> min 63 ( 64 C<T> const & x, 65 C<T> const & y, 66 C<T> const & z, 67 C<T> const & w 68 ) 69 { 70 return glm::min(glm::min(x, y), glm::min(z, w)); 71 } 72 73 template <typename T> 74 GLM_FUNC_QUALIFIER T max( 75 T const & x, 76 T const & y, 77 T const & z) 78 { 79 return glm::max(glm::max(x, y), z); 80 } 81 82 template <typename T, template <typename> class C> 83 GLM_FUNC_QUALIFIER C<T> max 84 ( 85 C<T> const & x, 86 typename C<T>::T const & y, 87 typename C<T>::T const & z 88 ) 89 { 90 return glm::max(glm::max(x, y), z); 91 } 92 93 template <typename T, template <typename> class C> 94 GLM_FUNC_QUALIFIER C<T> max 95 ( 96 C<T> const & x, 97 C<T> const & y, 98 C<T> const & z 99 ) 100 { 101 return glm::max(glm::max(x, y), z); 102 } 103 104 template <typename T> 105 GLM_FUNC_QUALIFIER T max 106 ( 107 T const & x, 108 T const & y, 109 T const & z, 110 T const & w 111 ) 112 { 113 return glm::max(glm::max(x, y), glm::max(z, w)); 114 } 115 116 template <typename T, template <typename> class C> 117 GLM_FUNC_QUALIFIER C<T> max 118 ( 119 C<T> const & x, 120 typename C<T>::T const & y, 121 typename C<T>::T const & z, 122 typename C<T>::T const & w 123 ) 124 { 125 return glm::max(glm::max(x, y), glm::max(z, w)); 126 } 127 128 template <typename T, template <typename> class C> 129 GLM_FUNC_QUALIFIER C<T> max 130 ( 131 C<T> const & x, 132 C<T> const & y, 133 C<T> const & z, 134 C<T> const & w 135 ) 136 { 137 return glm::max(glm::max(x, y), glm::max(z, w)); 138 } 139 140}//namespace glm 141