sead
Loading...
Searching...
No Matches
seadMathPolicies.h
Go to the documentation of this file.
1#ifndef SEAD_MATHPOLICIES_H_
2#define SEAD_MATHPOLICIES_H_
3
4namespace sead {
5
6template <typename T>
8{
9public:
10 struct Vec2Base
11 {
12 T x;
13 T y;
14 };
15
16 struct Vec3Base
17 {
18 T x;
19 T y;
20 T z;
21 };
22
23 struct Vec4Base
24 {
25 T x;
26 T y;
27 T z;
28 T w;
29 };
30
31 struct QuatBase
32 {
33 T x;
34 T y;
35 T z;
36 T w;
37 };
38
39 struct Mtx22Base
40 {
41 union
42 {
43 T m[2][2];
44 T a[4];
45 };
46 };
47
48 struct Mtx33Base
49 {
50 union
51 {
52 T m[3][3];
53 T a[9];
54 };
55 };
56
57 struct Mtx34Base
58 {
59 union
60 {
61 T m[3][4];
62 T a[12];
63 };
64 };
65
66 struct Mtx44Base
67 {
68 union
69 {
70 T m[4][4];
71 T a[16];
72 };
73 };
74};
75
76#ifdef cafe
77static_assert(sizeof(Policies<float>::Vec2Base) == 8, "sead::Policies<T>::Vec2Base size mismatch");
78static_assert(sizeof(Policies<float>::Vec3Base) == 0xC, "sead::Policies<T>::Vec3Base size mismatch");
79static_assert(sizeof(Policies<float>::Vec4Base) == 0x10, "sead::Policies<T>::Vec4Base size mismatch");
80static_assert(sizeof(Policies<float>::QuatBase) == 0x10, "sead::Policies<T>::QuatBase size mismatch");
81static_assert(sizeof(Policies<float>::Mtx22Base) == 0x10, "sead::Policies<T>::Mtx22Base size mismatch");
82static_assert(sizeof(Policies<float>::Mtx33Base) == 0x24, "sead::Policies<T>::Mtx33Base size mismatch");
83static_assert(sizeof(Policies<float>::Mtx34Base) == 0x30, "sead::Policies<T>::Mtx34Base size mismatch");
84static_assert(sizeof(Policies<float>::Mtx44Base) == 0x40, "sead::Policies<T>::Mtx44Base size mismatch");
85#endif // cafe
86
87} // namespace sead
88
89#endif // SEAD_MATHPOLICIES_H_
Definition seadMathPolicies.h:8
Definition seadAssert.h:44
Definition seadMathPolicies.h:40
T a[4]
Definition seadMathPolicies.h:44
T m[2][2]
Definition seadMathPolicies.h:43
Definition seadMathPolicies.h:49
T a[9]
Definition seadMathPolicies.h:53
T m[3][3]
Definition seadMathPolicies.h:52
Definition seadMathPolicies.h:58
T m[3][4]
Definition seadMathPolicies.h:61
T a[12]
Definition seadMathPolicies.h:62
Definition seadMathPolicies.h:67
T a[16]
Definition seadMathPolicies.h:71
T m[4][4]
Definition seadMathPolicies.h:70
Definition seadMathPolicies.h:32
T w
Definition seadMathPolicies.h:36
T y
Definition seadMathPolicies.h:34
T z
Definition seadMathPolicies.h:35
T x
Definition seadMathPolicies.h:33
Definition seadMathPolicies.h:11
T x
Definition seadMathPolicies.h:12
T y
Definition seadMathPolicies.h:13
Definition seadMathPolicies.h:17
T y
Definition seadMathPolicies.h:19
T x
Definition seadMathPolicies.h:18
T z
Definition seadMathPolicies.h:20
Definition seadMathPolicies.h:24
T z
Definition seadMathPolicies.h:27
T x
Definition seadMathPolicies.h:25
T w
Definition seadMathPolicies.h:28
T y
Definition seadMathPolicies.h:26