- Main Page
- Modules
- Namespaces
- Classes
- Files

- File List

type_precision.hpp

    00001
    00002 // OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)
    00004 // Created : 2009-06-04
    00005 // Updated : 2009-06-04
    00006 // Licence : This source is under MIT License
    00007 // File    : glm/gtc/type_precision.hpp
    00009 // Dependency:
    00010 // - GLM core
    00011 // - GLM_GTC_half
    00012 // - GLM_GTC_quaternion
    00014
    00015 #ifndef glm_gtc_type_precision
    00016 #define glm_gtc_type_precision
    00017
    00018 // Dependency:
    00019 #include "../glm.hpp"
    00020 #include "../gtc/half_float.hpp"
    00021 #include "../gtc/quaternion.hpp"
    00022
    00023 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
    00024 #       pragma message("GLM: GLM_GTC_type_precision extension included")
    00025 #endif
    00026
    00027 namespace glm{
    00028 namespace gtc{
    00029 namespace type_precision
    00030 {
    00032         // Dependences
    00033
    00034         using namespace gtc::half_float;
    00035         using namespace gtc::quaternion;
    00036
    00038         // Signed int vector types
    00039
    00042
    00043         typedef detail::int8                                            int8;
    00044         typedef detail::int16                                           int16;
    00045         typedef detail::int32                                           int32;
    00046         typedef detail::int64                                           int64;
    00047
    00048         typedef int8                                                            i8;
    00049         typedef int16                                                           i16;
    00050         typedef int32                                                           i32;
    00051         typedef int64                                                           i64;
    00052
    00053         //typedef i8                                                                    i8vec1;         //!< \brief 8bit signed integer scalar. (from GLM_GTC_type_precision extension)
    00054         typedef detail::tvec2<i8>                                       i8vec2;
    00055         typedef detail::tvec3<i8>                                       i8vec3;
    00056         typedef detail::tvec4<i8>                                       i8vec4;
    00057
    00058         //typedef i16                                                                   i16vec1;        //!< \brief 16bit signed integer scalar. (from GLM_GTC_type_precision extension)
    00059         typedef detail::tvec2<i16>                                      i16vec2;
    00060         typedef detail::tvec3<i16>                                      i16vec3;
    00061         typedef detail::tvec4<i16>                                      i16vec4;
    00062
    00063         //typedef i32                                                                   i32vec1;        //!< \brief 32bit signed integer scalar. (from GLM_GTC_type_precision extension)
    00064         typedef detail::tvec2<i32>                                      i32vec2;
    00065         typedef detail::tvec3<i32>                                      i32vec3;
    00066         typedef detail::tvec4<i32>                                      i32vec4;
    00067
    00068         //typedef i64                                                                   i64vec1;        //!< \brief 32bit signed integer scalar. (from GLM_GTC_type_precision extension)
    00069         typedef detail::tvec2<i64>                                      i64vec2;
    00070         typedef detail::tvec3<i64>                                      i64vec3;
    00071         typedef detail::tvec4<i64>                                      i64vec4;
    00072
    00074         // Unsigned int vector types
    00075
    00076         typedef detail::uint8                                           uint8;
    00077         typedef detail::uint16                                          uint16;
    00078         typedef detail::uint32                                          uint32;
    00079         typedef detail::uint64                                          uint64;
    00080
    00081         typedef uint8                                                           u8;
    00082         typedef uint16                                                          u16;
    00083         typedef uint32                                                          u32;
    00084         typedef uint64                                                          u64;
    00085
    00086         //typedef u8                                                                    u8vec1;         //!< \brief 8bit unsigned integer scalar. (from GLM_GTC_type_precision extension)
    00087         typedef detail::tvec2<u8>                                       u8vec2;
    00088         typedef detail::tvec3<u8>                                       u8vec3;
    00089         typedef detail::tvec4<u8>                                       u8vec4;
    00090
    00091         //typedef u16                                                                   u16vec1;    //!< \brief 16bit unsigned integer scalar. (from GLM_GTC_type_precision extension)
    00092         typedef detail::tvec2<u16>                                      u16vec2;
    00093         typedef detail::tvec3<u16>                                      u16vec3;
    00094         typedef detail::tvec4<u16>                                      u16vec4;
    00095
    00096         //typedef u32                                                                   u32vec1;    //!< \brief 32bit unsigned integer scalar. (from GLM_GTC_type_precision extension)
    00097         typedef detail::tvec2<u32>                                      u32vec2;
    00098         typedef detail::tvec3<u32>                                      u32vec3;
    00099         typedef detail::tvec4<u32>                                      u32vec4;
    00100
    00101         //typedef u64                                                                   u64vec1;    //!< \brief 64bit unsigned integer scalar. (from GLM_GTC_type_precision extension)
    00102         typedef detail::tvec2<u64>                                      u64vec2;
    00103         typedef detail::tvec3<u64>                                      u64vec3;
    00104         typedef detail::tvec4<u64>                                      u64vec4;
    00105
    00107         // Float vector types
    00108
    00109         typedef detail::float16                                         float16;
    00110         typedef detail::float32                                         float32;
    00111         typedef detail::float64                                         float64;
    00112
    00113         typedef float16                                                         f16;
    00114         typedef float32                                                         f32;
    00115         typedef float64                                                         f64;
    00116
    00117         typedef detail::tvec2<float>                            fvec2;
    00118         typedef detail::tvec3<float>                            fvec3;
    00119         typedef detail::tvec4<float>                            fvec4;
    00120
    00121         //typedef f16                                                                   f16vec1;    //!< \brief Half-precision floating-point scalar. (from GLM_GTC_type_precision extension)
    00122         typedef detail::tvec2<f16>                                      f16vec2;
    00123         typedef detail::tvec3<f16>                                      f16vec3;
    00124         typedef detail::tvec4<f16>                                      f16vec4;
    00125
    00126         //typedef f32                                                                   f32vec1;    //!< \brief Single-precision floating-point scalar. (from GLM_GTC_type_precision extension)
    00127         typedef detail::tvec2<f32>                                      f32vec2;
    00128         typedef detail::tvec3<f32>                                      f32vec3;
    00129         typedef detail::tvec4<f32>                                      f32vec4;
    00130
    00131         //typedef f64                                                                   f64vec1;    //!< \brief Single-precision floating-point scalar. (from GLM_GTC_type_precision extension)
    00132         typedef detail::tvec2<f64>                                      f64vec2;
    00133         typedef detail::tvec3<f64>                                      f64vec3;
    00134         typedef detail::tvec4<f64>                                      f64vec4;
    00135
    00137         // Float matrix types
    00138
    00139         //typedef f32                                                                   fmat1;  //!< \brief Single-precision floating-point scalar. (from GLM_GTC_type_precision extension)
    00140         typedef detail::tmat2x2<f32>                            fmat2;
    00141         typedef detail::tmat3x3<f32>                            fmat3;
    00142         typedef detail::tmat4x4<f32>                            fmat4;
    00143
    00144         //typedef f32                                                                   fmat1x1;        //!< \brief Single-precision floating-point scalar. (from GLM_GTC_type_precision extension)
    00145         typedef detail::tmat2x2<f32>                            fmat2x2;
    00146         typedef detail::tmat2x3<f32>                            fmat2x3;
    00147         typedef detail::tmat2x4<f32>                            fmat2x4;
    00148         typedef detail::tmat3x2<f32>                            fmat3x2;
    00149         typedef detail::tmat3x3<f32>                            fmat3x3;
    00150         typedef detail::tmat3x4<f32>                            fmat3x4;
    00151         typedef detail::tmat4x2<f32>                            fmat4x2;
    00152         typedef detail::tmat4x3<f32>                            fmat4x3;
    00153         typedef detail::tmat4x4<f32>                            fmat4x4;
    00154
    00155         //typedef f16                                                                   f16mat1;    //!< \brief Half-precision floating-point scalar. (from GLM_GTC_type_precision extension)
    00156         typedef detail::tmat2x2<f16>                            f16mat2;
    00157         typedef detail::tmat3x3<f16>                            f16mat3;
    00158         typedef detail::tmat4x4<f16>                            f16mat4;
    00159
    00160         //typedef f16                                                                   f16mat1x1;      //!< \brief Half-precision floating-point scalar. (from GLM_GTC_type_precision extension)
    00161         typedef detail::tmat2x2<f16>                            f16mat2x2;
    00162         typedef detail::tmat2x3<f16>                            f16mat2x3;
    00163         typedef detail::tmat2x4<f16>                            f16mat2x4;
    00164         typedef detail::tmat3x2<f16>                            f16mat3x2;
    00165         typedef detail::tmat3x3<f16>                            f16mat3x3;
    00166         typedef detail::tmat3x4<f16>                            f16mat3x4;
    00167         typedef detail::tmat4x2<f16>                            f16mat4x2;
    00168         typedef detail::tmat4x3<f16>                            f16mat4x3;
    00169         typedef detail::tmat4x4<f16>                            f16mat4x4;
    00170
    00171         //typedef f32                                                                   f32mat1;        //!< \brief Single-precision floating-point scalar. (from GLM_GTC_type_precision extension)
    00172         typedef detail::tmat2x2<f32>                            f32mat2;
    00173         typedef detail::tmat3x3<f32>                            f32mat3;
    00174         typedef detail::tmat4x4<f32>                            f32mat4;
    00175
    00176         //typedef f32                                                                   f32mat1x1;      //!< \brief Single-precision floating-point scalar. (from GLM_GTC_type_precision extension)
    00177         typedef detail::tmat2x2<f32>                            f32mat2x2;
    00178         typedef detail::tmat2x3<f32>                            f32mat2x3;
    00179         typedef detail::tmat2x4<f32>                            f32mat2x4;
    00180         typedef detail::tmat3x2<f32>                            f32mat3x2;
    00181         typedef detail::tmat3x3<f32>                            f32mat3x3;
    00182         typedef detail::tmat3x4<f32>                            f32mat3x4;
    00183         typedef detail::tmat4x2<f32>                            f32mat4x2;
    00184         typedef detail::tmat4x3<f32>                            f32mat4x3;
    00185         typedef detail::tmat4x4<f32>                            f32mat4x4;
    00186
    00187         //typedef f64                                                                   f64mat1;        //!< \brief Double-precision floating-point scalar. (from GLM_GTC_type_precision extension)
    00188         typedef detail::tmat2x2<f64>                            f64mat2;
    00189         typedef detail::tmat3x3<f64>                            f64mat3;
    00190         typedef detail::tmat4x4<f64>                            f64mat4;
    00191
    00192         //typedef f64                                                                   f64mat1x1;      //!< \brief Double-precision floating-point scalar. (from GLM_GTC_type_precision extension)
    00193         typedef detail::tmat2x2<f64>                            f64mat2x2;
    00194         typedef detail::tmat2x3<f64>                            f64mat2x3;
    00195         typedef detail::tmat2x4<f64>                            f64mat2x4;
    00196         typedef detail::tmat3x2<f64>                            f64mat3x2;
    00197         typedef detail::tmat3x3<f64>                            f64mat3x3;
    00198         typedef detail::tmat3x4<f64>                            f64mat3x4;
    00199         typedef detail::tmat4x2<f64>                            f64mat4x2;
    00200         typedef detail::tmat4x3<f64>                            f64mat4x3;
    00201         typedef detail::tmat4x4<f64>                            f64mat4x4;
    00202
    00204         // Float quaternion types
    00205
    00206         typedef detail::tquat<f16>                                      f16quat;
    00207         typedef detail::tquat<f32>                                      f32quat;
    00208         typedef detail::tquat<f64>                                      f64quat;
    00209
    00211
    00212 }//namespace type_precision
    00213 }//namespace gtc
    00214 }//namespace glm
    00215
    00216 #include "type_precision.inl"
    00217
    00218 namespace glm{using namespace gtc::type_precision;}
    00219
    00220 #endif//glm_gtc_type_precision