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 
00065         typedef detail::int8 int8;
00066         
00069         typedef detail::int16 int16;
00070 
00073         typedef detail::int32 int32;
00074 
00077         typedef detail::int64 int64;
00078 
00079 
00082         typedef detail::int8 int8_t;
00083         
00086         typedef detail::int16 int16_t;
00087 
00090         typedef detail::int32 int32_t;
00091 
00094         typedef detail::int64 int64_t;
00095 
00096 
00099         typedef detail::int8 i8;
00100         
00103         typedef detail::int16 i16;
00104 
00107         typedef detail::int32 i32;
00108 
00111         typedef detail::int64 i64;
00112 
00113 
00116         typedef detail::tvec1<i8> i8vec1;
00117         
00120         typedef detail::tvec2<i8> i8vec2;
00121 
00124         typedef detail::tvec3<i8> i8vec3;
00125 
00128         typedef detail::tvec4<i8> i8vec4;
00129 
00130 
00133         typedef detail::tvec1<i16> i16vec1;
00134         
00137         typedef detail::tvec2<i16> i16vec2;
00138 
00141         typedef detail::tvec3<i16> i16vec3;
00142 
00145         typedef detail::tvec4<i16> i16vec4;
00146 
00147 
00150         typedef detail::tvec1<i32> i32vec1;
00151         
00154         typedef detail::tvec2<i32> i32vec2;
00155 
00158         typedef detail::tvec3<i32> i32vec3;
00159 
00162         typedef detail::tvec4<i32> i32vec4;
00163 
00164 
00167         typedef detail::tvec1<i64> i64vec1;
00168         
00171         typedef detail::tvec2<i64> i64vec2;
00172 
00175         typedef detail::tvec3<i64> i64vec3;
00176 
00179         typedef detail::tvec4<i64> i64vec4;
00180 
00181 
00183         // Unsigned int vector types 
00184 
00187         typedef detail::uint8 uint8;
00188         
00191         typedef detail::uint16 uint16;
00192 
00195         typedef detail::uint32 uint32;
00196 
00199         typedef detail::uint64 uint64;
00200 
00201 
00204         typedef detail::uint8 uint8_t;
00205         
00208         typedef detail::uint16 uint16_t;
00209 
00212         typedef detail::uint32 uint32_t;
00213 
00216         typedef detail::uint64 uint64_t;
00217 
00218 
00221         typedef detail::uint8 u8;
00222         
00225         typedef detail::uint16 u16;
00226 
00229         typedef detail::uint32 u32;
00230 
00233         typedef detail::uint64 u64;
00234 
00235 
00238         typedef detail::tvec1<u8> u8vec1;
00239         
00242         typedef detail::tvec2<u8> u8vec2;
00243 
00246         typedef detail::tvec3<u8> u8vec3;
00247 
00250         typedef detail::tvec4<u8> u8vec4;
00251 
00252 
00255         typedef detail::tvec1<u16> u16vec1;
00256         
00259         typedef detail::tvec2<u16> u16vec2;
00260 
00263         typedef detail::tvec3<u16> u16vec3;
00264 
00267         typedef detail::tvec4<u16> u16vec4;
00268 
00269 
00272         typedef detail::tvec1<u32> u32vec1;
00273         
00276         typedef detail::tvec2<u32> u32vec2;
00277 
00280         typedef detail::tvec3<u32> u32vec3;
00281 
00284         typedef detail::tvec4<u32> u32vec4;
00285 
00286 
00289         typedef detail::tvec1<u64> u64vec1;
00290         
00293         typedef detail::tvec2<u64> u64vec2;
00294 
00297         typedef detail::tvec3<u64> u64vec3;
00298 
00301         typedef detail::tvec4<u64> u64vec4;
00302 
00303 
00305         // Float vector types 
00306 
00309         typedef detail::float16 float16;
00310 
00313         typedef detail::float32 float32;
00314 
00317         typedef detail::float64 float64;
00318 
00319 
00322         typedef detail::float16 float16_t;
00323 
00326         typedef detail::float32 float32_t;
00327 
00330         typedef detail::float64 float64_t;
00331 
00332 
00335         typedef float16 f16;
00336 
00339         typedef float32 f32;
00340 
00343         typedef float64 f64;
00344 
00345 
00348         typedef detail::tvec1<float> fvec1;
00349 
00352         typedef detail::tvec2<float> fvec2;
00353 
00356         typedef detail::tvec3<float> fvec3;
00357 
00360         typedef detail::tvec4<float> fvec4;
00361 
00362 
00365         typedef detail::tvec1<f16> f16vec1;
00366 
00369         typedef detail::tvec2<f16> f16vec2;
00370 
00373         typedef detail::tvec3<f16> f16vec3;
00374 
00377         typedef detail::tvec4<f16> f16vec4;
00378 
00379         
00382         typedef detail::tvec1<f32> f32vec1;
00383 
00386         typedef detail::tvec2<f32> f32vec2;
00387 
00390         typedef detail::tvec3<f32> f32vec3;
00391 
00394         typedef detail::tvec4<f32> f32vec4;
00395 
00396 
00399         typedef detail::tvec1<f64> f64vec1;
00400 
00403         typedef detail::tvec2<f64> f64vec2;
00404 
00407         typedef detail::tvec3<f64> f64vec3;
00408 
00411         typedef detail::tvec4<f64> f64vec4;
00412 
00413 
00415         // Float matrix types 
00416 
00419         //typedef detail::tmat1x1<f32> fmat1;
00420 
00423         typedef detail::tmat2x2<f32> fmat2;
00424 
00427         typedef detail::tmat3x3<f32> fmat3;
00428 
00431         typedef detail::tmat4x4<f32> fmat4;
00432 
00433 
00436         //typedef f32 fmat1x1;
00437 
00440         typedef detail::tmat2x2<f32> fmat2x2;
00441 
00444         typedef detail::tmat2x3<f32> fmat2x3;
00445 
00448         typedef detail::tmat2x4<f32> fmat2x4;
00449 
00452         typedef detail::tmat3x2<f32> fmat3x2;
00453 
00456         typedef detail::tmat3x3<f32> fmat3x3;
00457 
00460         typedef detail::tmat3x4<f32> fmat3x4;
00461 
00464         typedef detail::tmat4x2<f32> fmat4x2;
00465 
00468         typedef detail::tmat4x3<f32> fmat4x3;
00469 
00472         typedef detail::tmat4x4<f32> fmat4x4;
00473 
00474 
00477         //typedef detail::tmat1x1<f16> f16mat1;
00478 
00481         typedef detail::tmat2x2<f16> f16mat2;
00482 
00485         typedef detail::tmat3x3<f16> f16mat3;
00486 
00489         typedef detail::tmat4x4<f16> f16mat4;
00490 
00491 
00494         //typedef f16 f16mat1x1;
00495 
00498         typedef detail::tmat2x2<f16> f16mat2x2;
00499 
00502         typedef detail::tmat2x3<f16> f16mat2x3;
00503 
00506         typedef detail::tmat2x4<f16> f16mat2x4;
00507 
00510         typedef detail::tmat3x2<f16> f16mat3x2;
00511 
00514         typedef detail::tmat3x3<f16> f16mat3x3;
00515 
00518         typedef detail::tmat3x4<f16> f16mat3x4;
00519 
00522         typedef detail::tmat4x2<f16> f16mat4x2;
00523 
00526         typedef detail::tmat4x3<f16> f16mat4x3;
00527 
00530         typedef detail::tmat4x4<f16> f16mat4x4;
00531 
00532 
00535         //typedef detail::tmat1x1<f32> f32mat1;
00536 
00539         typedef detail::tmat2x2<f32> f32mat2;
00540 
00543         typedef detail::tmat3x3<f32> f32mat3;
00544 
00547         typedef detail::tmat4x4<f32> f32mat4;
00548 
00549 
00552         //typedef f32 f32mat1x1;
00553 
00556         typedef detail::tmat2x2<f32> f32mat2x2;
00557 
00560         typedef detail::tmat2x3<f32> f32mat2x3;
00561 
00564         typedef detail::tmat2x4<f32> f32mat2x4;
00565 
00568         typedef detail::tmat3x2<f32> f32mat3x2;
00569 
00572         typedef detail::tmat3x3<f32> f32mat3x3;
00573 
00576         typedef detail::tmat3x4<f32> f32mat3x4;
00577 
00580         typedef detail::tmat4x2<f32> f32mat4x2;
00581 
00584         typedef detail::tmat4x3<f32> f32mat4x3;
00585 
00588         typedef detail::tmat4x4<f32> f32mat4x4;
00589 
00590 
00593         //typedef detail::tmat1x1<f64> f64mat1;
00594 
00597         typedef detail::tmat2x2<f64> f64mat2;
00598 
00601         typedef detail::tmat3x3<f64> f64mat3;
00602 
00605         typedef detail::tmat4x4<f64> f64mat4;
00606 
00607 
00610         //typedef f64 f64mat1x1;
00611 
00614         typedef detail::tmat2x2<f64> f64mat2x2;
00615 
00618         typedef detail::tmat2x3<f64> f64mat2x3;
00619 
00622         typedef detail::tmat2x4<f64> f64mat2x4;
00623 
00626         typedef detail::tmat3x2<f64> f64mat3x2;
00627 
00630         typedef detail::tmat3x3<f64> f64mat3x3;
00631 
00634         typedef detail::tmat3x4<f64> f64mat3x4;
00635 
00638         typedef detail::tmat4x2<f64> f64mat4x2;
00639 
00642         typedef detail::tmat4x3<f64> f64mat4x3;
00643 
00646         typedef detail::tmat4x4<f64> f64mat4x4;
00647 
00648 
00650         // Quaternion types 
00651 
00654         typedef detail::tquat<f16> f16quat;
00655 
00658         typedef detail::tquat<f32> f32quat;
00659 
00662         typedef detail::tquat<f64> f64quat;
00663 
00665 }//namespace glm
00666 
00667 #include "type_precision.inl"
00668 
00669 #endif//GLM_GTC_type_precision