type_float.hpp Source File

- Main Page
- Modules
- Namespaces
- Classes
- Files

- File List

# 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
    00044                 typedef lowp_float_t            lowp_float;
    00049                 typedef mediump_float_t mediump_float;
    00054                 typedef highp_float_t           highp_float;
    00055         }
    00056         //namespace precision
    00057
    00058 #if(!defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT))
    00059         typedef precision::mediump_float                                float_t;
    00060 #elif(defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT))
    00061         typedef precision::highp_float                          float_t;
    00062 #elif(!defined(GLM_PRECISION_HIGHP_FLOAT) && defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT))
    00063         typedef precision::mediump_float                                float_t;
    00064 #elif(!defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && defined(GLM_PRECISION_LOWP_FLOAT))
    00065         typedef precision::lowp_float                                   float_t;
    00066 #else
    00067 #       error "GLM error: multiple default precision requested for floating-point types"
    00068 #endif
    00069
    00070         }//namespace type
    00071         }//namespace core
    00072 }//namespace glm
    00073
    00074 #endif//glm_core_type_float