7 template<
template<length_t C, length_t R,
typename T, qualifier Q>
class mat, length_t C, length_t R,
typename Ret,
typename T, qualifier Q>
8 struct matrix_functor_1 {
11 template<
template<length_t C, length_t R,
typename T, qualifier Q>
class mat,
typename Ret,
typename T, qualifier Q>
12 struct matrix_functor_1<mat, 2, 2, Ret, T, Q> {
13 GLM_FUNC_QUALIFIER GLM_CONSTEXPR
static mat<2, 2, T, Q> call(Ret (*Func)(T x), mat<2, 2, T, Q>
const &x) {
14 return mat<2, 2, Ret, Q>(
15 Func(x[0][0]), Func(x[0][1]),
16 Func(x[1][0]), Func(x[1][1])
21 template<
template<length_t C, length_t R,
typename T, qualifier Q>
class mat,
typename Ret,
typename T, qualifier Q>
22 struct matrix_functor_1<mat, 2, 3, Ret, T, Q> {
24 GLM_FUNC_QUALIFIER GLM_CONSTEXPR
static mat<2, 3, T, Q> call(Ret (*Func)(T x), mat<2, 3, T, Q>
const &x) {
25 return mat<2, 3, Ret, Q>(
26 Func(x[0][0]), Func(x[0][1]), Func(x[0][2]),
27 Func(x[1][0]), Func(x[1][1]), Func(x[1][2])
33 template<
template<length_t C, length_t R,
typename T, qualifier Q>
class mat,
typename Ret,
typename T, qualifier Q>
34 struct matrix_functor_1<mat, 2, 4, Ret, T, Q> {
36 GLM_FUNC_QUALIFIER GLM_CONSTEXPR
static mat<2, 4, T, Q> call(Ret (*Func)(T x), mat<2, 4, T, Q>
const &x) {
37 return mat<2, 4, Ret, Q>(
38 Func(x[0][0]), Func(x[0][1]), Func(x[0][2]), Func(x[0][3]),
39 Func(x[1][0]), Func(x[1][1]), Func(x[1][2]), Func(x[1][3])
45 template<
template<length_t C, length_t R,
typename T, qualifier Q>
class mat,
typename Ret,
typename T, qualifier Q>
46 struct matrix_functor_1<mat, 3, 2, Ret, T, Q> {
48 GLM_FUNC_QUALIFIER GLM_CONSTEXPR
static mat<3, 2, T, Q> call(Ret (*Func)(T x), mat<3, 2, T, Q>
const &x) {
49 return mat<3, 2, Ret, Q>(
50 Func(x[0][0]), Func(x[0][1]),
51 Func(x[1][0]), Func(x[1][1]),
52 Func(x[2][0]), Func(x[2][1])
58 template<
template<length_t C, length_t R,
typename T, qualifier Q>
class mat,
typename Ret,
typename T, qualifier Q>
59 struct matrix_functor_1<mat, 3, 3, Ret, T, Q> {
61 GLM_FUNC_QUALIFIER GLM_CONSTEXPR
static mat<3, 3, T, Q> call(Ret (*Func)(T x), mat<3, 3, T, Q>
const &x) {
62 return mat<3, 3, Ret, Q>(
63 Func(x[0][0]), Func(x[0][1]), Func(x[0][2]),
64 Func(x[1][0]), Func(x[1][1]), Func(x[1][2]),
65 Func(x[2][0]), Func(x[2][1]), Func(x[2][2])
71 template<
template<length_t C, length_t R,
typename T, qualifier Q>
class mat,
typename Ret,
typename T, qualifier Q>
72 struct matrix_functor_1<mat, 3, 4, Ret, T, Q> {
74 GLM_FUNC_QUALIFIER GLM_CONSTEXPR
static mat<3, 4, T, Q> call(Ret (*Func)(T x), mat<3, 4, T, Q>
const &x) {
75 return mat<3, 4, Ret, Q>(
76 Func(x[0][0]), Func(x[0][1]), Func(x[0][2]), Func(x[0][3]),
77 Func(x[1][0]), Func(x[1][1]), Func(x[1][2]), Func(x[1][3]),
78 Func(x[2][0]), Func(x[2][1]), Func(x[2][2]), Func(x[2][3])
84 template<
template<length_t C, length_t R,
typename T, qualifier Q>
class mat,
typename Ret,
typename T, qualifier Q>
85 struct matrix_functor_1<mat, 4, 2, Ret, T, Q> {
87 GLM_FUNC_QUALIFIER GLM_CONSTEXPR
static mat<4, 2, T, Q> call(Ret (*Func)(T x), mat<4, 2, T, Q>
const &x) {
88 return mat<4, 2, Ret, Q>(
89 Func(x[0][0]), Func(x[0][1]),
90 Func(x[1][0]), Func(x[1][1]),
91 Func(x[2][0]), Func(x[2][1]),
92 Func(x[3][0]), Func(x[3][1])
98 template<
template<length_t C, length_t R,
typename T, qualifier Q>
class mat,
typename Ret,
typename T, qualifier Q>
99 struct matrix_functor_1<mat, 4, 3, Ret, T, Q> {
101 GLM_FUNC_QUALIFIER GLM_CONSTEXPR
static mat<4, 3, T, Q> call(Ret (*Func)(T x), mat<4, 3, T, Q>
const &x) {
102 return mat<4, 3, Ret, Q>(
103 Func(x[0][0]), Func(x[0][1]), Func(x[0][2]),
104 Func(x[1][0]), Func(x[1][1]), Func(x[1][2]),
105 Func(x[2][0]), Func(x[2][1]), Func(x[2][2]),
106 Func(x[3][0]), Func(x[3][1]), Func(x[3][2])
112 template<
template<length_t C, length_t R,
typename T, qualifier Q>
class mat,
typename Ret,
typename T, qualifier Q>
113 struct matrix_functor_1<mat, 4, 4, Ret, T, Q> {
115 GLM_FUNC_QUALIFIER GLM_CONSTEXPR
static mat<4, 4, T, Q> call(Ret (*Func)(T x), mat<4, 4, T, Q>
const &x) {
116 return mat<4, 4, Ret, Q>(
117 Func(x[0][0]), Func(x[0][1]), Func(x[0][2]), Func(x[0][3]),
118 Func(x[1][0]), Func(x[1][1]), Func(x[1][2]), Func(x[1][3]),
119 Func(x[2][0]), Func(x[2][1]), Func(x[2][2]), Func(x[2][3]),
120 Func(x[3][0]), Func(x[3][1]), Func(x[3][2]), Func(x[3][3])