glm.hpp Source File

- Main Page
- Modules
- Namespaces
- Classes
- Files

- File List

# glm.hpp

    00001
    00002 // OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)
    00004 // Created : 2005-01-14
    00005 // Updated : 2011-01-19
    00006 // Licence : This source is under MIT License
    00007 // File    : glm/glm.hpp
    00009
    00010 #include "core/_fixes.hpp"
    00011
    00012 #ifndef glm_glm
    00013 #define glm_glm
    00014
    00015 #include <cmath>
    00016 #include <climits>
    00017 #include <cfloat>
    00018 #include <limits>
    00019 #include "core/setup.hpp"
    00020
    00021 #if(defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_CORE_INCLUDED_DISPLAYED))
    00022 #       define GLM_MESSAGE_CORE_INCLUDED_DISPLAYED
    00023 #       pragma message("GLM: Core library included")
    00024 #endif//GLM_MESSAGE
    00025
    00027 namespace glm
    00028 {
    00029         namespace test
    00030         {
    00031                 bool main_bug();
    00032                 bool main_core();
    00033         }//namespace test
    00034
    00036         namespace core
    00037         {
    00042                 namespace type{}
    00043
    00046                 namespace function{}
    00047         }
    00048         //namespace core
    00049
    00051         namespace gtc{}
    00052
    00055         namespace gtx{}
    00056
    00058         namespace img{}
    00059
    00060 } //namespace glm
    00061
    00062 #include "./core/_detail.hpp"
    00063 #include "./core/type.hpp"
    00064
    00065 #include "./core/func_trigonometric.hpp"
    00066 #include "./core/func_exponential.hpp"
    00067 #include "./core/func_common.hpp"
    00068 #include "./core/func_packing.hpp"
    00069 #include "./core/func_geometric.hpp"
    00070 #include "./core/func_matrix.hpp"
    00071 #include "./core/func_vector_relational.hpp"
    00072 #include "./core/func_integer.hpp"
    00073 #include "./core/func_noise.hpp"
    00074 #include "./core/_swizzle.hpp"
    00075
    00076 namespace glm
    00077 {
    00078         using namespace core::type;
    00079         using namespace core::type::precision;
    00080         using namespace core::function;
    00081 } //namespace glm
    00082
    00084 // check type sizes
    00085 #ifndef GLM_STATIC_ASSERT_NULL
    00086         GLM_STATIC_ASSERT(sizeof(glm::detail::int8) == 1, "int8 size isn't 1 byte on this platform");
    00087         GLM_STATIC_ASSERT(sizeof(glm::detail::int16) == 2, "int16 size isn't 2 bytes on this platform");
    00088         GLM_STATIC_ASSERT(sizeof(glm::detail::int32) == 4, "int32 size isn't 4 bytes on this platform");
    00089         GLM_STATIC_ASSERT(sizeof(glm::detail::int64) == 8, "int64 size isn't 8 bytes on this platform");
    00090
    00091         GLM_STATIC_ASSERT(sizeof(glm::detail::uint8) == 1, "uint8 size isn't 1 byte on this platform");
    00092         GLM_STATIC_ASSERT(sizeof(glm::detail::uint16) == 2, "uint16 size isn't 2 bytes on this platform");
    00093         GLM_STATIC_ASSERT(sizeof(glm::detail::uint32) == 4, "uint32 size isn't 4 bytes on this platform");
    00094         GLM_STATIC_ASSERT(sizeof(glm::detail::uint64) == 8, "uint64 size isn't 8 bytes on this platform");
    00095
    00096         GLM_STATIC_ASSERT(sizeof(glm::detail::float16) == 2, "float16 size isn't 2 bytes on this platform");
    00097         GLM_STATIC_ASSERT(sizeof(glm::detail::float32) == 4, "float32 size isn't 4 bytes on this platform");
    00098         GLM_STATIC_ASSERT(sizeof(glm::detail::float64) == 8, "float64 size isn't 8 bytes on this platform");
    00099 #endif//GLM_STATIC_ASSERT_NULL
    00100
    00101 #endif //glm_glm