GLM Version 0.9.0

type_float.hpp

00001 
00002 // OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)
00004 // Created : 2008-08-22
00005 // Updated : 2010-02-08
00006 // Licence : This source is under MIT License
00007 // File    : glm/core/type_float.hpp
00009 
00010 #ifndef glm_core_type_float
00011 #define glm_core_type_float
00012 
00013 #include "type_half.hpp"
00014 #include "../setup.hpp"
00015 
00016 namespace glm
00017 {
00018         namespace detail
00019         {
00020                 GLM_DETAIL_IS_FLOAT(detail::thalf);
00021                 GLM_DETAIL_IS_FLOAT(float);
00022                 GLM_DETAIL_IS_FLOAT(double);
00023                 GLM_DETAIL_IS_FLOAT(long double);
00024         }
00025         //namespace detail
00026 
00027         namespace core{
00028         namespace type{
00029 
00030         namespace precision
00031         {
00032 #ifdef GLM_USE_HALF_SCALAR
00033                 typedef detail::thalf           lowp_float_t;
00034 #else//GLM_USE_HALF_SCALAR
00035                 typedef float                           lowp_float_t;
00036 #endif//GLM_USE_HALF_SCALAR
00037                 typedef float                           mediump_float_t;
00038                 typedef double                          highp_float_t;
00039 
00043                 typedef lowp_float_t            lowp_float;
00047                 typedef mediump_float_t         mediump_float;
00051                 typedef highp_float_t           highp_float;
00052         }
00053         //namespace precision
00054 
00055 #ifndef GLM_PRECISION 
00056         typedef precision::mediump_float                float_t;
00057 #elif(GLM_PRECISION & GLM_PRECISION_HIGHP_FLOAT)
00058         typedef precision::highp_float                  float_t;
00059 #elif(GLM_PRECISION & GLM_PRECISION_MEDIUMP_FLOAT)
00060         typedef precision::mediump_float                float_t;
00061 #elif(GLM_PRECISION & GLM_PRECISION_LOWP_FLOAT)
00062         typedef precision::lowp_float                   float_t;
00063 #else
00064         #       pragma message("GLM message: Precisson undefined for float numbers.");
00065         typedef precision::mediump_float                float_t;
00066 #endif//GLM_PRECISION
00067 
00068         }//namespace type
00069         }//namespace core
00070 }//namespace glm
00071 
00072 #endif//glm_core_type_float