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
00063 typedef detail::lowp_int_t lowp_int;
00064
00069 typedef detail::mediump_int_t mediump_int;
00070
00075 typedef detail::highp_int_t highp_int;
00076
00081 typedef detail::lowp_uint_t lowp_uint;
00082
00087 typedef detail::mediump_uint_t mediump_uint;
00088
00093 typedef detail::highp_uint_t highp_uint;
00094
00095 #if(!defined(GLM_PRECISION_HIGHP_INT) && !defined(GLM_PRECISION_MEDIUMP_INT) && !defined(GLM_PRECISION_LOWP_INT))
00096 typedef mediump_int int_t;
00097 #elif(defined(GLM_PRECISION_HIGHP_INT) && !defined(GLM_PRECISION_MEDIUMP_INT) && !defined(GLM_PRECISION_LOWP_INT))
00098 typedef highp_int int_t;
00099 #elif(!defined(GLM_PRECISION_HIGHP_INT) && defined(GLM_PRECISION_MEDIUMP_INT) && !defined(GLM_PRECISION_LOWP_INT))
00100 typedef mediump_int int_t;
00101 #elif(!defined(GLM_PRECISION_HIGHP_INT) && !defined(GLM_PRECISION_MEDIUMP_INT) && defined(GLM_PRECISION_LOWP_INT))
00102 typedef lowp_int int_t;
00103 #else
00104 # error "GLM error: multiple default precision requested for signed interger types"
00105 #endif
00106
00107 #if(!defined(GLM_PRECISION_HIGHP_UINT) && !defined(GLM_PRECISION_MEDIUMP_UINT) && !defined(GLM_PRECISION_LOWP_UINT))
00108 typedef mediump_uint uint_t;
00109 #elif(defined(GLM_PRECISION_HIGHP_UINT) && !defined(GLM_PRECISION_MEDIUMP_UINT) && !defined(GLM_PRECISION_LOWP_UINT))
00110 typedef highp_uint uint_t;
00111 #elif(!defined(GLM_PRECISION_HIGHP_UINT) && defined(GLM_PRECISION_MEDIUMP_UINT) && !defined(GLM_PRECISION_LOWP_UINT))
00112 typedef mediump_uint uint_t;
00113 #elif(!defined(GLM_PRECISION_HIGHP_UINT) && !defined(GLM_PRECISION_MEDIUMP_UINT) && defined(GLM_PRECISION_LOWP_UINT))
00114 typedef lowp_uint uint_t;
00115 #else
00116 # error "GLM error: multiple default precision requested for unsigned interger types"
00117 #endif
00118
00121 typedef uint_t uint;
00122
00123 }
00124
00125 #endif//glm_core_type_int