type_int.hpp
Go to the documentation of this file.
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
22 
23 
24 
25 
26 
27 
28 
29 #ifndef glm_core_type_int
30 #define glm_core_type_int
31 
32 #include "setup.hpp"
33 #include "_detail.hpp"
34 
35 namespace glm{
36 namespace detail
37 {
38  typedef signed short lowp_int_t;
39  typedef signed int mediump_int_t;
40  typedef sint64 highp_int_t;
41 
42  typedef unsigned short lowp_uint_t;
43  typedef unsigned int mediump_uint_t;
44  typedef uint64 highp_uint_t;
45 
46  GLM_DETAIL_IS_INT(signed char);
47  GLM_DETAIL_IS_INT(signed short);
48  GLM_DETAIL_IS_INT(signed int);
49  GLM_DETAIL_IS_INT(signed long);
50  GLM_DETAIL_IS_INT(highp_int_t);
51 
52  GLM_DETAIL_IS_UINT(unsigned char);
53  GLM_DETAIL_IS_UINT(unsigned short);
54  GLM_DETAIL_IS_UINT(unsigned int);
55  GLM_DETAIL_IS_UINT(unsigned long);
56  GLM_DETAIL_IS_UINT(highp_uint_t);
57 }//namespace detail
58 
61 
67  typedef detail::lowp_int_t lowp_int;
68 
74  typedef detail::mediump_int_t mediump_int;
75 
81  typedef detail::highp_int_t highp_int;
82 
88  typedef detail::lowp_uint_t lowp_uint;
89 
95  typedef detail::mediump_uint_t mediump_uint;
96 
102  typedef detail::highp_uint_t highp_uint;
103 
104 #if(!defined(GLM_PRECISION_HIGHP_INT) && !defined(GLM_PRECISION_MEDIUMP_INT) && !defined(GLM_PRECISION_LOWP_INT))
105  typedef mediump_int int_t;
106 #elif(defined(GLM_PRECISION_HIGHP_INT) && !defined(GLM_PRECISION_MEDIUMP_INT) && !defined(GLM_PRECISION_LOWP_INT))
107  typedef highp_int int_t;
108 #elif(!defined(GLM_PRECISION_HIGHP_INT) && defined(GLM_PRECISION_MEDIUMP_INT) && !defined(GLM_PRECISION_LOWP_INT))
109  typedef mediump_int int_t;
110 #elif(!defined(GLM_PRECISION_HIGHP_INT) && !defined(GLM_PRECISION_MEDIUMP_INT) && defined(GLM_PRECISION_LOWP_INT))
111  typedef lowp_int int_t;
112 #else
113 # error "GLM error: multiple default precision requested for signed interger types"
114 #endif
115 
116 #if(!defined(GLM_PRECISION_HIGHP_UINT) && !defined(GLM_PRECISION_MEDIUMP_UINT) && !defined(GLM_PRECISION_LOWP_UINT))
117  typedef mediump_uint uint_t;
118 #elif(defined(GLM_PRECISION_HIGHP_UINT) && !defined(GLM_PRECISION_MEDIUMP_UINT) && !defined(GLM_PRECISION_LOWP_UINT))
119  typedef highp_uint uint_t;
120 #elif(!defined(GLM_PRECISION_HIGHP_UINT) && defined(GLM_PRECISION_MEDIUMP_UINT) && !defined(GLM_PRECISION_LOWP_UINT))
121  typedef mediump_uint uint_t;
122 #elif(!defined(GLM_PRECISION_HIGHP_UINT) && !defined(GLM_PRECISION_MEDIUMP_UINT) && defined(GLM_PRECISION_LOWP_UINT))
123  typedef lowp_uint uint_t;
124 #else
125 # error "GLM error: multiple default precision requested for unsigned interger types"
126 #endif
127 
131  typedef uint_t uint;
132 
134 }//namespace glm
135 
136 #endif//glm_core_type_int