- Main Page
- Related Pages
- Modules
- Classes
- Files

- File List

# type_precision.hpp

Go to the documentation of this file.

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