# GLM: type_float.hpp Source File

- Main Page
- Namespaces
- Files

- File List

# type_float.hpp

    00001
    00002 // OpenGL Mathematics Copyright (c) 2005 - 2009 G-Truc Creation (www.g-truc.net)
    00004 // Created : 2008-08-22
    00005 // Updated : 2008-09-17
    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         namespace scalar{
    00030
    00031         namespace precision
    00032         {
    00033 #ifdef GLM_USE_HALF_SCALAR
    00034                 typedef detail::thalf           lowp_float_t;
    00035 #else//GLM_USE_HALF_SCALAR
    00036                 typedef float                           lowp_float_t;
    00037 #endif//GLM_USE_HALF_SCALAR
    00038                 typedef float                           mediump_float_t;
    00039                 typedef double                          highp_float_t;
    00040
    00044                 typedef lowp_float_t            lowp_float;
    00048                 typedef mediump_float_t         mediump_float;
    00052                 typedef highp_float_t           highp_float;
    00053         }
    00054         //namespace precision
    00055
    00056 #ifndef GLM_PRECISION
    00057         typedef precision::mediump_float_t              float_t;
    00058 #elif(GLM_PRECISION & GLM_PRECISION_HIGHP_FLOAT)
    00059         typedef precision::highp_float_t                float_t;
    00060 #elif(GLM_PRECISION & GLM_PRECISION_MEDIUMP_FLOAT)
    00061         typedef precision::mediump_float_t              float_t;
    00062 #elif(GLM_PRECISION & GLM_PRECISION_LOWP_FLOAT)
    00063         typedef precision::lowp_float_t                 float_t;
    00064 #else
    00065         #       pragma message("GLM message: Precisson undefined for float numbers.");
    00066         typedef precision::mediump_float_t              float_t;
    00067 #endif//GLM_PRECISION
    00068
    00069         }//namespace scalar
    00070         }//namespace type
    00071         }//namespace core
    00072 }//namespace glm
    00073
    00074 #endif//glm_core_type_float