33 template <
typename T, u
int32 DIM>
38 for (
uint32 d = 0; d < DIM; ++d)
39 this->
operator[](d) = v[d];
43 template <
typename T, u
int32 DIM>
48 for (
uint32 d = 0; d < DIM; ++d)
49 this->
operator[](d) = v;
52 template <
typename T, u
int32 DIM>
57 for (
uint32 d = 0; d < DIM; ++d)
58 this->
operator[](d) = op[d];
63 template <
typename T, u
int32 DIM>
69 for (
uint32 d = 0; d < DIM; ++d)
70 r[d] = op1[d] + op2[d];
73 template <
typename T, u
int32 DIM>
78 for (
uint32 d = 0; d < DIM; ++d)
79 op1[d] = op1[d] + op2[d];
82 template <
typename T, u
int32 DIM>
88 for (
uint32 d = 0; d < DIM; ++d)
89 r[d] = op1[d] - op2[d];
92 template <
typename T, u
int32 DIM>
97 for (
uint32 d = 0; d < DIM; ++d)
98 op1[d] = op1[d] - op2[d];
101 template <
typename T, u
int32 DIM>
107 for (
uint32 d = 0; d < DIM; ++d)
108 r[d] = op1[d] - op2[d];
111 template <
typename T, u
int32 DIM>
116 for (
uint32 d = 0; d < DIM; ++d)
117 op1[d] = op1[d] * op2[d];
120 template <
typename T, u
int32 DIM>
126 for (
uint32 d = 0; d < DIM; ++d)
127 r[d] = op1[d] / op2[d];
130 template <
typename T, u
int32 DIM>
135 for (
uint32 d = 0; d < DIM; ++d)
136 op1[d] = op1[d] / op2[d];
139 template <
typename T, u
int32 DIM>
145 for (
uint32 d = 0; d < DIM; ++d)
149 template <
typename T, u
int32 DIM>
155 for (
uint32 d = 0; d < DIM; ++d)
159 template <
typename T, u
int32 DIM>
165 for (
uint32 d = 0; d < DIM; ++d)
166 r = r || (op[d] != 0);
169 template <
typename T, u
int32 DIM>
175 for (
uint32 d = 0; d < DIM; ++d)
176 r = r && (op[d] != 0);
180 template <
typename T, u
int32 DIM>
186 for (
uint32 d = 0; d < DIM; ++d)
187 r = r && (op1[d] == op2[d]);
191 template <
typename T, u
int32 DIM>
197 for (
uint32 d = 0; d < DIM; ++d)
198 r = r || (op1[d] != op2[d]);