00001
00002
00004
00005
00006
00007
00009
00010
00011
00013
00014 #ifndef glm_gtx_extented_min_max
00015 #define glm_gtx_extented_min_max
00016
00017
00018 #include "../glm.hpp"
00019 #include "../gtc/half_float.hpp"
00020
00021 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
00022 # pragma message("GLM: GLM_GTX_extented_min_max extension included")
00023 #endif
00024
00025 namespace glm{
00026 namespace gtx{
00027 namespace extented_min_max
00028 {
00031
00032
00033
00034 template <typename T>
00035 T min(
00036 T const & x,
00037 T const & y,
00038 T const & z);
00039
00040
00041
00042 template
00043 <
00044 typename T,
00045 template <typename> class C
00046 >
00047 C<T> min(
00048 C<T> const & x,
00049 typename C<T>::value_type const & y,
00050 typename C<T>::value_type const & z);
00051
00052
00053
00054 template
00055 <
00056 typename T,
00057 template <typename> class C
00058 >
00059 C<T> min(
00060 C<T> const & x,
00061 C<T> const & y,
00062 C<T> const & z);
00063
00064
00065
00066 template <typename T>
00067 T min(
00068 T const & x,
00069 T const & y,
00070 T const & z,
00071 T const & w);
00072
00073
00074
00075 template
00076 <
00077 typename T,
00078 template <typename> class C
00079 >
00080 C<T> min(
00081 C<T> const & x,
00082 typename C<T>::value_type const & y,
00083 typename C<T>::value_type const & z,
00084 typename C<T>::value_type const & w);
00085
00086
00087
00088 template
00089 <
00090 typename T,
00091 template <typename> class C
00092 >
00093 C<T> min(
00094 C<T> const & x,
00095 C<T> const & y,
00096 C<T> const & z,
00097 C<T> const & w);
00098
00099
00100
00101 template <typename T>
00102 T max(
00103 T const & x,
00104 T const & y,
00105 T const & z);
00106
00107
00108
00109 template
00110 <
00111 typename T,
00112 template <typename> class C
00113 >
00114 C<T> max(
00115 C<T> const & x,
00116 typename C<T>::value_type const & y,
00117 typename C<T>::value_type const & z);
00118
00119
00120
00121 template
00122 <
00123 typename T,
00124 template <typename> class C
00125 >
00126 C<T> max(
00127 C<T> const & x,
00128 C<T> const & y,
00129 C<T> const & z);
00130
00131
00132
00133 template <typename T>
00134 T max(
00135 T const & x,
00136 T const & y,
00137 T const & z,
00138 T const & w);
00139
00140
00141
00142 template
00143 <
00144 typename T,
00145 template <typename> class C
00146 >
00147 C<T> max(
00148 C<T> const & x,
00149 typename C<T>::value_type const & y,
00150 typename C<T>::value_type const & z,
00151 typename C<T>::value_type const & w);
00152
00153
00154
00155 template
00156 <
00157 typename T,
00158 template <typename> class C
00159 >
00160 C<T> max(
00161 C<T> const & x,
00162 C<T> const & y,
00163 C<T> const & z,
00164 C<T> const & w);
00165
00167 }
00168 }
00169 }
00170
00171 #include "extented_min_max.inl"
00172
00173 namespace glm{using namespace gtx::extented_min_max;}
00174
00175 #endif//glm_gtx_extented_min_max