• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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