1 #include <glm/glm.hpp>
2 #include <glm/gtc/epsilon.hpp>
3 
4 #if GLM_HAS_RANGE_FOR
5 
6 #include <glm/gtx/range.hpp>
7 
testVec()8 int testVec()
9 {
10 	int Error(0);
11 	glm::vec3 v(1, 2, 3);
12 
13 	int count = 0;
14 	for(float x : v){ count++; }
15 	Error += count == 3 ? 0 : 1;
16 
17 	for(float& x : v){ x = 0; }
18 	Error += glm::all(glm::equal(v, glm::vec3(0, 0, 0))) ? 0 : 1;
19 	return Error;
20 }
21 
testMat()22 int testMat()
23 {
24 	int Error(0);
25 	glm::mat4x3 m(1);
26 
27 	int count = 0;
28 	for(float x : m){ count++; }
29 	Error += count == 12 ? 0 : 1;
30 
31 	for(float& x : m){ x = 0; }
32 	glm::vec4 v(1, 1, 1, 1);
33 	Error += glm::all(glm::equal(m*v, glm::vec3(0, 0, 0))) ? 0 : 1;
34 	return Error;
35 }
36 
main()37 int main()
38 {
39 	int Error(0);
40 	Error += testVec();
41 	Error += testMat();
42 	return Error;
43 }
44 
45 #else
46 
main()47 int main()
48 {
49 	return 0;
50 }
51 
52 #endif//GLM_HAS_RANGE_FOR
53