type_float.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_float
00030 #define glm_core_type_float
00031 
00032 #include "type_half.hpp"
00033 #include "setup.hpp"
00034 
00035 namespace glm
00036 {
00037         namespace detail
00038         {
00039                 GLM_DETAIL_IS_FLOAT(detail::thalf);
00040                 GLM_DETAIL_IS_FLOAT(float);
00041                 GLM_DETAIL_IS_FLOAT(double);
00042                 GLM_DETAIL_IS_FLOAT(long double);
00043         }
00044         //namespace detail
00045 
00046 #ifdef GLM_USE_HALF_SCALAR
00047     typedef detail::thalf               lowp_float_t;
00048 #else//GLM_USE_HALF_SCALAR
00049     typedef float                               lowp_float_t;
00050 #endif//GLM_USE_HALF_SCALAR
00051     typedef float                               mediump_float_t;
00052     typedef double                              highp_float_t;
00053 
00058     typedef lowp_float_t                lowp_float;
00059     
00064     typedef mediump_float_t     mediump_float;
00065     
00070     typedef highp_float_t               highp_float;
00071 
00072 #if(!defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT))
00073         typedef mediump_float                           float_t;
00074 #elif(defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT))
00075         typedef highp_float                  float_t;
00076 #elif(!defined(GLM_PRECISION_HIGHP_FLOAT) && defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT))
00077         typedef mediump_float                           float_t;
00078 #elif(!defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && defined(GLM_PRECISION_LOWP_FLOAT))
00079         typedef lowp_float                                      float_t;
00080 #else
00081 #       error "GLM error: multiple default precision requested for floating-point types"
00082 #endif
00083 
00084 }//namespace glm
00085 
00086 #endif//glm_core_type_float