4.3 KB、115行 生 Blame 履歴
1/// @ref ext_matrix_int4x4_sized
2/// @file glm/ext/matrix_int4x4_sized.hpp
3///
4/// @see core (dependence)
5///
6/// @defgroup ext_matrix_int4x4_sized GLM_EXT_matrix_int4x4_sized
7/// @ingroup ext
8///
9/// Include <glm/ext/matrix_int4x4_sized.hpp> to use the features of this extension.
10///
11/// Defines a number of matrices with integer types.
12
13#pragma once
14
15// Dependency:
16#include "../mat4x4.hpp"
17#include "../ext/scalar_int_sized.hpp"
18
19#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
20# pragma message("GLM: GLM_EXT_matrix_int4x4_sized extension included")
21#endif
22
23namespace glm
24{
25 /// @addtogroup ext_matrix_int4x4_sized
26 /// @{
27
28 /// 8 bit signed integer 4x4 matrix.
29 ///
30 /// @see ext_matrix_int4x4_sized
31 typedef mat<4, 4, int8, defaultp> i8mat4x4;
32
33 /// 16 bit signed integer 4x4 matrix.
34 ///
35 /// @see ext_matrix_int4x4_sized
36 typedef mat<4, 4, int16, defaultp> i16mat4x4;
37
38 /// 32 bit signed integer 4x4 matrix.
39 ///
40 /// @see ext_matrix_int4x4_sized
41 typedef mat<4, 4, int32, defaultp> i32mat4x4;
42
43 /// 64 bit signed integer 4x4 matrix.
44 ///
45 /// @see ext_matrix_int4x4_sized
46 typedef mat<4, 4, int64, defaultp> i64mat4x4;
47
48
49 /// 8 bit signed integer 4x4 matrix.
50 ///
51 /// @see ext_matrix_int4x4_sized
52 typedef mat<4, 4, int8, defaultp> i8mat4;
53
54 /// 16 bit signed integer 4x4 matrix.
55 ///
56 /// @see ext_matrix_int4x4_sized
57 typedef mat<4, 4, int16, defaultp> i16mat4;
58
59 /// 32 bit signed integer 4x4 matrix.
60 ///
61 /// @see ext_matrix_int4x4_sized
62 typedef mat<4, 4, int32, defaultp> i32mat4;
63
64 /// 64 bit signed integer 4x4 matrix.
65 ///
66 /// @see ext_matrix_int4x4_sized
67 typedef mat<4, 4, int64, defaultp> i64mat4;
68
69 /// @}
70}//namespace glm
71
72#if GLM_CONFIG_CTOR_INIT == GLM_DISABLE
73static_assert(std::is_trivially_default_constructible<glm::i8mat4x4>::value);
74static_assert(std::is_trivially_default_constructible<glm::i16mat4x4>::value);
75static_assert(std::is_trivially_default_constructible<glm::i32mat4x4>::value);
76static_assert(std::is_trivially_default_constructible<glm::i64mat4x4>::value);
77static_assert(std::is_trivially_default_constructible<glm::i8mat4>::value);
78static_assert(std::is_trivially_default_constructible<glm::i16mat4>::value);
79static_assert(std::is_trivially_default_constructible<glm::i32mat4>::value);
80static_assert(std::is_trivially_default_constructible<glm::i64mat4>::value);
81#endif
82static_assert(std::is_trivially_copy_assignable<glm::i8mat4x4>::value);
83static_assert(std::is_trivially_copy_assignable<glm::i16mat4x4>::value);
84static_assert(std::is_trivially_copy_assignable<glm::i32mat4x4>::value);
85static_assert(std::is_trivially_copy_assignable<glm::i64mat4x4>::value);
86static_assert(std::is_trivially_copy_assignable<glm::i8mat4>::value);
87static_assert(std::is_trivially_copy_assignable<glm::i16mat4>::value);
88static_assert(std::is_trivially_copy_assignable<glm::i32mat4>::value);
89static_assert(std::is_trivially_copy_assignable<glm::i64mat4>::value);
90static_assert(std::is_trivially_copyable<glm::i8mat4x4>::value);
91static_assert(std::is_trivially_copyable<glm::i16mat4x4>::value);
92static_assert(std::is_trivially_copyable<glm::i32mat4x4>::value);
93static_assert(std::is_trivially_copyable<glm::i64mat4x4>::value);
94static_assert(std::is_trivially_copyable<glm::i8mat4>::value);
95static_assert(std::is_trivially_copyable<glm::i16mat4>::value);
96static_assert(std::is_trivially_copyable<glm::i32mat4>::value);
97static_assert(std::is_trivially_copyable<glm::i64mat4>::value);
98static_assert(std::is_copy_constructible<glm::i8mat4x4>::value);
99static_assert(std::is_copy_constructible<glm::i16mat4x4>::value);
100static_assert(std::is_copy_constructible<glm::i32mat4x4>::value);
101static_assert(std::is_copy_constructible<glm::i64mat4x4>::value);
102static_assert(std::is_copy_constructible<glm::i8mat4>::value);
103static_assert(std::is_copy_constructible<glm::i16mat4>::value);
104static_assert(std::is_copy_constructible<glm::i32mat4>::value);
105static_assert(std::is_copy_constructible<glm::i64mat4>::value);
106static_assert(glm::i8mat4x4::length() == 4);
107static_assert(glm::i16mat4x4::length() == 4);
108static_assert(glm::i32mat4x4::length() == 4);
109static_assert(glm::i64mat4x4::length() == 4);
110static_assert(glm::i8mat4::length() == 4);
111static_assert(glm::i16mat4::length() == 4);
112static_assert(glm::i32mat4::length() == 4);
113static_assert(glm::i64mat4::length() == 4);
114
115