- Main Page
- Related Pages
- Modules
- Classes
- Files

- File List

type_int.hpp
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 }//namespace detail
    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 }//namespace glm
    00136
    00137 #endif//glm_core_type_int