GLM Version 0.9.0

glm.hpp

00001 
00002 // OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)
00004 // Created : 2005-01-14
00005 // Updated : 2010-05-30
00006 // Licence : This source is under MIT License
00007 // File    : glm/glm.hpp
00009 
00030 #ifndef glm_glm
00031 #define glm_glm
00032 
00033 #ifdef max
00034 #undef max
00035 #endif
00036 
00037 #ifdef min
00038 #undef min
00039 #endif
00040 
00041 #define GLMvalType typename genType::value_type
00042 #define GLMcolType typename genType::col_type
00043 #define GLMrowType typename genType::row_type
00044 
00045 #include <cmath>
00046 #include <climits>
00047 #include <cfloat>
00048 #include <limits>
00049 #include "./setup.hpp"
00050 
00052 namespace glm
00053 {
00054         namespace test
00055         {
00056                 bool main_bug();
00057                 bool main_core();
00058         }//namespace test
00059 
00061         namespace core
00062         {
00067                 namespace type{}
00068 
00071                 namespace function{}
00072         }
00073         //namespace core
00074 
00076         namespace gtc{}
00077 
00080         namespace gtx{}
00081 
00083         namespace img{}
00084 
00086         namespace img{}
00087 
00088 } //namespace glm
00089 
00090 #include "./core/_detail.hpp"
00091 #include "./core/type.hpp"
00092 
00093 #include "./core/func_trigonometric.hpp"
00094 #include "./core/func_exponential.hpp"
00095 #include "./core/func_common.hpp"
00096 #include "./core/func_packing.hpp"
00097 #include "./core/func_geometric.hpp"
00098 #include "./core/func_matrix.hpp"
00099 #include "./core/func_vector_relational.hpp"
00100 #include "./core/func_integer.hpp"
00101 #include "./core/func_noise.hpp"
00102 #include "./core/_swizzle.hpp"
00103 
00104 #if(defined(GLM_MESSAGE) && (GLM_MESSAGE & (GLM_MESSAGE_CORE | GLM_MESSAGE_NOTIFICATION)))
00105 #       pragma message("GLM message: Core library included")
00106 #endif//GLM_MESSAGE
00107 
00108 #if(defined(GLM_COMPILER) && (GLM_COMPILER & GLM_COMPILER_VC))
00109 #       define GLM_DEPRECATED __declspec(deprecated)
00110 #       define GLM_RESTRICT __restrict
00111 #       define GLM_ALIGN(x) __declspec(align(x))
00112 //#     define aligned(x) __declspec(align(x)) struct
00113 #else
00114 #       define GLM_DEPRECATED
00115 #       define GLM_RESTRICT
00116 #       define GLM_ALIGN(x)
00117 #endif//GLM_COMPILER
00118 
00120 // check type sizes
00121 #ifndef GLM_STATIC_ASSERT_NULL
00122         GLM_STATIC_ASSERT(sizeof(glm::detail::int8)==1);
00123         GLM_STATIC_ASSERT(sizeof(glm::detail::int16)==2);
00124         GLM_STATIC_ASSERT(sizeof(glm::detail::int32)==4);
00125         GLM_STATIC_ASSERT(sizeof(glm::detail::int64)==8);
00126 
00127         GLM_STATIC_ASSERT(sizeof(glm::detail::uint8)==1);
00128         GLM_STATIC_ASSERT(sizeof(glm::detail::uint16)==2);
00129         GLM_STATIC_ASSERT(sizeof(glm::detail::uint32)==4);
00130         GLM_STATIC_ASSERT(sizeof(glm::detail::uint64)==8);
00131 
00132         GLM_STATIC_ASSERT(sizeof(glm::detail::float16)==2);
00133         GLM_STATIC_ASSERT(sizeof(glm::detail::float32)==4);
00134         GLM_STATIC_ASSERT(sizeof(glm::detail::float64)==8);
00135 #endif//GLM_STATIC_ASSERT_NULL
00136 
00137 #endif //glm_glm