Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029 #ifndef glm_core_type_int
00030 #define glm_core_type_int
00031
00032 #include "setup.hpp"
00033 #include "_detail.hpp"
00034
00035 namespace glm{
00036 namespace detail
00037 {
00038 typedef signed short lowp_int_t;
00039 typedef signed int mediump_int_t;
00040 typedef sint64 highp_int_t;
00041
00042 typedef unsigned short lowp_uint_t;
00043 typedef unsigned int mediump_uint_t;
00044 typedef uint64 highp_uint_t;
00045
00046 GLM_DETAIL_IS_INT(signed char);
00047 GLM_DETAIL_IS_INT(signed short);
00048 GLM_DETAIL_IS_INT(signed int);
00049 GLM_DETAIL_IS_INT(signed long);
00050 GLM_DETAIL_IS_INT(highp_int_t);
00051
00052 GLM_DETAIL_IS_UINT(unsigned char);
00053 GLM_DETAIL_IS_UINT(unsigned short);
00054 GLM_DETAIL_IS_UINT(unsigned int);
00055 GLM_DETAIL_IS_UINT(unsigned long);
00056 GLM_DETAIL_IS_UINT(highp_uint_t);
00057 }
00058
00061
00067 typedef detail::lowp_int_t lowp_int;
00068
00074 typedef detail::mediump_int_t mediump_int;
00075
00081 typedef detail::highp_int_t highp_int;
00082
00088 typedef detail::lowp_uint_t lowp_uint;
00089
00095 typedef detail::mediump_uint_t mediump_uint;
00096
00102 typedef detail::highp_uint_t highp_uint;
00103
00104 #if(!defined(GLM_PRECISION_HIGHP_INT) && !defined(GLM_PRECISION_MEDIUMP_INT) && !defined(GLM_PRECISION_LOWP_INT))
00105 typedef mediump_int int_t;
00106 #elif(defined(GLM_PRECISION_HIGHP_INT) && !defined(GLM_PRECISION_MEDIUMP_INT) && !defined(GLM_PRECISION_LOWP_INT))
00107 typedef highp_int int_t;
00108 #elif(!defined(GLM_PRECISION_HIGHP_INT) && defined(GLM_PRECISION_MEDIUMP_INT) && !defined(GLM_PRECISION_LOWP_INT))
00109 typedef mediump_int int_t;
00110 #elif(!defined(GLM_PRECISION_HIGHP_INT) && !defined(GLM_PRECISION_MEDIUMP_INT) && defined(GLM_PRECISION_LOWP_INT))
00111 typedef lowp_int int_t;
00112 #else
00113 # error "GLM error: multiple default precision requested for signed interger types"
00114 #endif
00115
00116 #if(!defined(GLM_PRECISION_HIGHP_UINT) && !defined(GLM_PRECISION_MEDIUMP_UINT) && !defined(GLM_PRECISION_LOWP_UINT))
00117 typedef mediump_uint uint_t;
00118 #elif(defined(GLM_PRECISION_HIGHP_UINT) && !defined(GLM_PRECISION_MEDIUMP_UINT) && !defined(GLM_PRECISION_LOWP_UINT))
00119 typedef highp_uint uint_t;
00120 #elif(!defined(GLM_PRECISION_HIGHP_UINT) && defined(GLM_PRECISION_MEDIUMP_UINT) && !defined(GLM_PRECISION_LOWP_UINT))
00121 typedef mediump_uint uint_t;
00122 #elif(!defined(GLM_PRECISION_HIGHP_UINT) && !defined(GLM_PRECISION_MEDIUMP_UINT) && defined(GLM_PRECISION_LOWP_UINT))
00123 typedef lowp_uint uint_t;
00124 #else
00125 # error "GLM error: multiple default precision requested for unsigned interger types"
00126 #endif
00127
00131 typedef uint_t uint;
00132
00134
00135 }
00136
00137 #endif//glm_core_type_int