RavEngine
Loading...
Searching...
No Matches
_vectorize.hpp
1
#pragma once
2
3
namespace
glm
{
4
namespace
detail
5
{
6
template
<
template
<length_t L,
typename
T, qualifier Q>
class
vec, length_t L,
typename
R,
typename
T,
qualifier
Q>
7
struct
functor1
{};
8
9
template
<
template
<length_t L,
typename
T, qualifier Q>
class
vec
,
typename
R,
typename
T,
qualifier
Q>
10
struct
functor1
<
vec
, 1, R, T, Q>
11
{
12
GLM_FUNC_QUALIFIER GLM_CONSTEXPR
static
vec<1, R, Q>
call(R (*Func) (T x),
vec<1, T, Q>
const
& v)
13
{
14
return
vec<1, R, Q>
(Func(v.x));
15
}
16
};
17
18
template
<
template
<length_t L,
typename
T, qualifier Q>
class
vec
,
typename
R,
typename
T,
qualifier
Q>
19
struct
functor1
<
vec
, 2, R, T, Q>
20
{
21
GLM_FUNC_QUALIFIER GLM_CONSTEXPR
static
vec<2, R, Q>
call(R (*Func) (T x),
vec<2, T, Q>
const
& v)
22
{
23
return
vec<2, R, Q>
(Func(v.x), Func(v.y));
24
}
25
};
26
27
template
<
template
<length_t L,
typename
T, qualifier Q>
class
vec
,
typename
R,
typename
T,
qualifier
Q>
28
struct
functor1
<
vec
, 3, R, T, Q>
29
{
30
GLM_FUNC_QUALIFIER GLM_CONSTEXPR
static
vec<3, R, Q>
call(R (*Func) (T x),
vec<3, T, Q>
const
& v)
31
{
32
return
vec<3, R, Q>
(Func(v.x), Func(v.y), Func(v.z));
33
}
34
};
35
36
template
<
template
<length_t L,
typename
T, qualifier Q>
class
vec
,
typename
R,
typename
T,
qualifier
Q>
37
struct
functor1
<
vec
, 4, R, T, Q>
38
{
39
GLM_FUNC_QUALIFIER GLM_CONSTEXPR
static
vec<4, R, Q>
call(R (*Func) (T x),
vec<4, T, Q>
const
& v)
40
{
41
return
vec<4, R, Q>
(Func(v.x), Func(v.y), Func(v.z), Func(v.w));
42
}
43
};
44
45
template
<
template
<length_t L,
typename
T, qualifier Q>
class
vec
, length_t L,
typename
T,
qualifier
Q>
46
struct
functor2
{};
47
48
template
<
template
<length_t L,
typename
T, qualifier Q>
class
vec
,
typename
T,
qualifier
Q>
49
struct
functor2
<
vec
, 1, T, Q>
50
{
51
GLM_FUNC_QUALIFIER
static
vec<1, T, Q>
call(T (*Func) (T x, T y),
vec<1, T, Q>
const
& a,
vec<1, T, Q>
const
& b)
52
{
53
return
vec<1, T, Q>
(Func(a.x, b.x));
54
}
55
};
56
57
template
<
template
<length_t L,
typename
T, qualifier Q>
class
vec
,
typename
T,
qualifier
Q>
58
struct
functor2
<
vec
, 2, T, Q>
59
{
60
GLM_FUNC_QUALIFIER
static
vec<2, T, Q>
call(T (*Func) (T x, T y),
vec<2, T, Q>
const
& a,
vec<2, T, Q>
const
& b)
61
{
62
return
vec<2, T, Q>
(Func(a.x, b.x), Func(a.y, b.y));
63
}
64
};
65
66
template
<
template
<length_t L,
typename
T, qualifier Q>
class
vec
,
typename
T,
qualifier
Q>
67
struct
functor2
<
vec
, 3, T, Q>
68
{
69
GLM_FUNC_QUALIFIER
static
vec<3, T, Q>
call(T (*Func) (T x, T y),
vec<3, T, Q>
const
& a,
vec<3, T, Q>
const
& b)
70
{
71
return
vec<3, T, Q>
(Func(a.x, b.x), Func(a.y, b.y), Func(a.z, b.z));
72
}
73
};
74
75
template
<
template
<length_t L,
typename
T, qualifier Q>
class
vec
,
typename
T,
qualifier
Q>
76
struct
functor2
<
vec
, 4, T, Q>
77
{
78
GLM_FUNC_QUALIFIER
static
vec<4, T, Q>
call(T (*Func) (T x, T y),
vec<4, T, Q>
const
& a,
vec<4, T, Q>
const
& b)
79
{
80
return
vec<4, T, Q>
(Func(a.x, b.x), Func(a.y, b.y), Func(a.z, b.z), Func(a.w, b.w));
81
}
82
};
83
84
template
<
template
<length_t L,
typename
T, qualifier Q>
class
vec
, length_t L,
typename
T,
qualifier
Q>
85
struct
functor2_vec_sca
{};
86
87
template
<
template
<length_t L,
typename
T, qualifier Q>
class
vec
,
typename
T,
qualifier
Q>
88
struct
functor2_vec_sca
<
vec
, 1, T, Q>
89
{
90
GLM_FUNC_QUALIFIER
static
vec<1, T, Q>
call(T (*Func) (T x, T y),
vec<1, T, Q>
const
& a, T b)
91
{
92
return
vec<1, T, Q>
(Func(a.x, b));
93
}
94
};
95
96
template
<
template
<length_t L,
typename
T, qualifier Q>
class
vec
,
typename
T,
qualifier
Q>
97
struct
functor2_vec_sca
<
vec
, 2, T, Q>
98
{
99
GLM_FUNC_QUALIFIER
static
vec<2, T, Q>
call(T (*Func) (T x, T y),
vec<2, T, Q>
const
& a, T b)
100
{
101
return
vec<2, T, Q>
(Func(a.x, b), Func(a.y, b));
102
}
103
};
104
105
template
<
template
<length_t L,
typename
T, qualifier Q>
class
vec
,
typename
T,
qualifier
Q>
106
struct
functor2_vec_sca
<
vec
, 3, T, Q>
107
{
108
GLM_FUNC_QUALIFIER
static
vec<3, T, Q>
call(T (*Func) (T x, T y),
vec<3, T, Q>
const
& a, T b)
109
{
110
return
vec<3, T, Q>
(Func(a.x, b), Func(a.y, b), Func(a.z, b));
111
}
112
};
113
114
template
<
template
<length_t L,
typename
T, qualifier Q>
class
vec
,
typename
T,
qualifier
Q>
115
struct
functor2_vec_sca
<
vec
, 4, T, Q>
116
{
117
GLM_FUNC_QUALIFIER
static
vec<4, T, Q>
call(T (*Func) (T x, T y),
vec<4, T, Q>
const
& a, T b)
118
{
119
return
vec<4, T, Q>
(Func(a.x, b), Func(a.y, b), Func(a.z, b), Func(a.w, b));
120
}
121
};
122
123
template
<length_t L,
typename
T, qualifier Q>
124
struct
functor2_vec_int
{};
125
126
template
<
typename
T, qualifier Q>
127
struct
functor2_vec_int
<1, T, Q>
128
{
129
GLM_FUNC_QUALIFIER
static
vec<1, int, Q>
call(
int
(*Func) (T x,
int
y),
vec<1, T, Q>
const
& a,
vec<1, int, Q>
const
& b)
130
{
131
return
vec<1, int, Q>
(Func(a.x, b.x));
132
}
133
};
134
135
template
<
typename
T, qualifier Q>
136
struct
functor2_vec_int
<2, T, Q>
137
{
138
GLM_FUNC_QUALIFIER
static
vec<2, int, Q>
call(
int
(*Func) (T x,
int
y),
vec<2, T, Q>
const
& a,
vec<2, int, Q>
const
& b)
139
{
140
return
vec<2, int, Q>
(Func(a.x, b.x), Func(a.y, b.y));
141
}
142
};
143
144
template
<
typename
T, qualifier Q>
145
struct
functor2_vec_int
<3, T, Q>
146
{
147
GLM_FUNC_QUALIFIER
static
vec<3, int, Q>
call(
int
(*Func) (T x,
int
y),
vec<3, T, Q>
const
& a,
vec<3, int, Q>
const
& b)
148
{
149
return
vec<3, int, Q>
(Func(a.x, b.x), Func(a.y, b.y), Func(a.z, b.z));
150
}
151
};
152
153
template
<
typename
T, qualifier Q>
154
struct
functor2_vec_int
<4, T, Q>
155
{
156
GLM_FUNC_QUALIFIER
static
vec<4, int, Q>
call(
int
(*Func) (T x,
int
y),
vec<4, T, Q>
const
& a,
vec<4, int, Q>
const
& b)
157
{
158
return
vec<4, int, Q>
(Func(a.x, b.x), Func(a.y, b.y), Func(a.z, b.z), Func(a.w, b.w));
159
}
160
};
161
}
//namespace detail
162
}
//namespace glm
glm
Core features
Definition
common.hpp:21
glm::qualifier
qualifier
Qualify GLM types in term of alignment (packed, aligned) and precision in term of ULPs (lowp,...
Definition
qualifier.hpp:9
glm::detail::functor1
Definition
_vectorize.hpp:7
glm::detail::functor2_vec_int
Definition
_vectorize.hpp:124
glm::detail::functor2_vec_sca
Definition
_vectorize.hpp:85
glm::detail::functor2
Definition
_vectorize.hpp:46
glm::vec
Definition
qualifier.hpp:35
RavEngine
deps
glm
glm
detail
_vectorize.hpp
Generated by
1.9.8