master
ブランチ master
VulkanExample / dep / include / glm / glm.cppm
71.4 KB、2673行 生 Blame 履歴
1module;
2
3// #define GLM_GTC_INLINE_NAMESPACE to inline glm::gtc into glm
4// #define GLM_EXT_INLINE_NAMESPACE to inline glm::ext into glm
5// #define GLM_GTX_INLINE_NAMESPACE to inline glm::gtx into glm
6
7#include "./glm.hpp"
8#include "./ext.hpp"
9
10export module glm;
11
12export namespace glm {
13 // Base types
14 using glm::qualifier;
15 using glm::precision;
16 using glm::vec;
17 using glm::mat;
18 using glm::qua;
19
20 using glm::tvec1;
21 using glm::tvec2;
22 using glm::tvec3;
23 using glm::tvec4;
24 using glm::tmat2x2;
25 using glm::tmat2x3;
26 using glm::tmat2x4;
27 using glm::tmat3x2;
28 using glm::tmat3x3;
29 using glm::tmat3x4;
30 using glm::tmat4x2;
31 using glm::tmat4x3;
32 using glm::tmat4x4;
33 using glm::tquat;
34
35 using glm::int8;
36 using glm::int16;
37 using glm::int32;
38 using glm::int64;
39 using glm::uint8;
40 using glm::uint16;
41 using glm::uint32;
42 using glm::uint64;
43 using glm::lowp_i8;
44 using glm::mediump_i8;
45 using glm::highp_i8;
46 using glm::i8;
47 using glm::lowp_int8;
48 using glm::mediump_int8;
49 using glm::highp_int8;
50 using glm::lowp_int8_t;
51 using glm::mediump_int8_t;
52 using glm::highp_int8_t;
53 using glm::int8_t;
54 using glm::lowp_i16;
55 using glm::mediump_i16;
56 using glm::highp_i16;
57 using glm::i16;
58 using glm::lowp_int16;
59 using glm::mediump_int16;
60 using glm::highp_int16;
61 using glm::lowp_int16_t;
62 using glm::mediump_int16_t;
63 using glm::highp_int16_t;
64 using glm::int16_t;
65 using glm::lowp_i32;
66 using glm::mediump_i32;
67 using glm::highp_i32;
68 using glm::i32;
69 using glm::lowp_int32;
70 using glm::mediump_int32;
71 using glm::highp_int32;
72 using glm::lowp_int32_t;
73 using glm::mediump_int32_t;
74 using glm::highp_int32_t;
75 using glm::int32_t;
76 using glm::lowp_i64;
77 using glm::mediump_i64;
78 using glm::highp_i64;
79 using glm::i64;
80 using glm::lowp_int64;
81 using glm::mediump_int64;
82 using glm::highp_int64;
83 using glm::lowp_int64_t;
84 using glm::mediump_int64_t;
85 using glm::highp_int64_t;
86 using glm::int64_t;
87 using glm::uint;
88 using glm::lowp_u8;
89 using glm::mediump_u8;
90 using glm::highp_u8;
91 using glm::u8;
92 using glm::lowp_uint8;
93 using glm::mediump_uint8;
94 using glm::highp_uint8;
95 using glm::lowp_uint8_t;
96 using glm::mediump_uint8_t;
97 using glm::highp_uint8_t;
98 using glm::uint8_t;
99 using glm::lowp_u16;
100 using glm::mediump_u16;
101 using glm::highp_u16;
102 using glm::u16;
103 using glm::lowp_uint16;
104 using glm::mediump_uint16;
105 using glm::highp_uint16;
106 using glm::lowp_uint16_t;
107 using glm::mediump_uint16_t;
108 using glm::highp_uint16_t;
109 using glm::uint16_t;
110 using glm::lowp_u32;
111 using glm::mediump_u32;
112 using glm::highp_u32;
113 using glm::u32;
114 using glm::lowp_uint32;
115 using glm::mediump_uint32;
116 using glm::highp_uint32;
117 using glm::lowp_uint32_t;
118 using glm::mediump_uint32_t;
119 using glm::highp_uint32_t;
120 using glm::uint32_t;
121 using glm::lowp_u64;
122 using glm::mediump_u64;
123 using glm::highp_u64;
124 using glm::u64;
125 using glm::lowp_uint64;
126 using glm::mediump_uint64;
127 using glm::highp_uint64;
128 using glm::lowp_uint64_t;
129 using glm::mediump_uint64_t;
130 using glm::highp_uint64_t;
131 using glm::uint64_t;
132 using glm::lowp_f32;
133 using glm::mediump_f32;
134 using glm::highp_f32;
135 using glm::f32;
136 using glm::lowp_float32;
137 using glm::mediump_float32;
138 using glm::highp_float32;
139 using glm::float32;
140 using glm::lowp_float32_t;
141 using glm::mediump_float32_t;
142 using glm::highp_float32_t;
143 using glm::float32_t;
144 using glm::lowp_f64;
145 using glm::mediump_f64;
146 using glm::highp_f64;
147 using glm::f64;
148 using glm::lowp_float64;
149 using glm::mediump_float64;
150 using glm::highp_float64;
151 using glm::float64;
152 using glm::lowp_float64_t;
153 using glm::mediump_float64_t;
154 using glm::highp_float64_t;
155 using glm::float64_t;
156 using glm::lowp_bvec1;
157 using glm::lowp_bvec2;
158 using glm::lowp_bvec3;
159 using glm::lowp_bvec4;
160 using glm::mediump_bvec1;
161 using glm::mediump_bvec2;
162 using glm::mediump_bvec3;
163 using glm::mediump_bvec4;
164 using glm::highp_bvec1;
165 using glm::highp_bvec2;
166 using glm::highp_bvec3;
167 using glm::highp_bvec4;
168 using glm::bvec1;
169 using glm::bvec2;
170 using glm::bvec3;
171 using glm::bvec4;
172 using glm::lowp_ivec1;
173 using glm::lowp_ivec2;
174 using glm::lowp_ivec3;
175 using glm::lowp_ivec4;
176 using glm::mediump_ivec1;
177 using glm::mediump_ivec2;
178 using glm::mediump_ivec3;
179 using glm::mediump_ivec4;
180 using glm::highp_ivec1;
181 using glm::highp_ivec2;
182 using glm::highp_ivec3;
183 using glm::highp_ivec4;
184 using glm::ivec1;
185 using glm::ivec2;
186 using glm::ivec3;
187 using glm::ivec4;
188 using glm::lowp_i8vec1;
189 using glm::lowp_i8vec2;
190 using glm::lowp_i8vec3;
191 using glm::lowp_i8vec4;
192 using glm::mediump_i8vec1;
193 using glm::mediump_i8vec2;
194 using glm::mediump_i8vec3;
195 using glm::mediump_i8vec4;
196 using glm::highp_i8vec1;
197 using glm::highp_i8vec2;
198 using glm::highp_i8vec3;
199 using glm::highp_i8vec4;
200 using glm::i8vec1;
201 using glm::i8vec2;
202 using glm::i8vec3;
203 using glm::i8vec4;
204 using glm::lowp_i16vec1;
205 using glm::lowp_i16vec2;
206 using glm::lowp_i16vec3;
207 using glm::lowp_i16vec4;
208 using glm::mediump_i16vec1;
209 using glm::mediump_i16vec2;
210 using glm::mediump_i16vec3;
211 using glm::mediump_i16vec4;
212 using glm::highp_i16vec1;
213 using glm::highp_i16vec2;
214 using glm::highp_i16vec3;
215 using glm::highp_i16vec4;
216 using glm::i16vec1;
217 using glm::i16vec2;
218 using glm::i16vec3;
219 using glm::i16vec4;
220 using glm::lowp_i32vec1;
221 using glm::lowp_i32vec2;
222 using glm::lowp_i32vec3;
223 using glm::lowp_i32vec4;
224 using glm::mediump_i32vec1;
225 using glm::mediump_i32vec2;
226 using glm::mediump_i32vec3;
227 using glm::mediump_i32vec4;
228 using glm::highp_i32vec1;
229 using glm::highp_i32vec2;
230 using glm::highp_i32vec3;
231 using glm::highp_i32vec4;
232 using glm::i32vec1;
233 using glm::i32vec2;
234 using glm::i32vec3;
235 using glm::i32vec4;
236 using glm::lowp_i64vec1;
237 using glm::lowp_i64vec2;
238 using glm::lowp_i64vec3;
239 using glm::lowp_i64vec4;
240 using glm::mediump_i64vec1;
241 using glm::mediump_i64vec2;
242 using glm::mediump_i64vec3;
243 using glm::mediump_i64vec4;
244 using glm::highp_i64vec1;
245 using glm::highp_i64vec2;
246 using glm::highp_i64vec3;
247 using glm::highp_i64vec4;
248 using glm::i64vec1;
249 using glm::i64vec2;
250 using glm::i64vec3;
251 using glm::i64vec4;
252 using glm::lowp_uvec1;
253 using glm::lowp_uvec2;
254 using glm::lowp_uvec3;
255 using glm::lowp_uvec4;
256 using glm::mediump_uvec1;
257 using glm::mediump_uvec2;
258 using glm::mediump_uvec3;
259 using glm::mediump_uvec4;
260 using glm::highp_uvec1;
261 using glm::highp_uvec2;
262 using glm::highp_uvec3;
263 using glm::highp_uvec4;
264 using glm::uvec1;
265 using glm::uvec2;
266 using glm::uvec3;
267 using glm::uvec4;
268 using glm::lowp_u8vec1;
269 using glm::lowp_u8vec2;
270 using glm::lowp_u8vec3;
271 using glm::lowp_u8vec4;
272 using glm::mediump_u8vec1;
273 using glm::mediump_u8vec2;
274 using glm::mediump_u8vec3;
275 using glm::mediump_u8vec4;
276 using glm::highp_u8vec1;
277 using glm::highp_u8vec2;
278 using glm::highp_u8vec3;
279 using glm::highp_u8vec4;
280 using glm::u8vec1;
281 using glm::u8vec2;
282 using glm::u8vec3;
283 using glm::u8vec4;
284 using glm::lowp_u16vec1;
285 using glm::lowp_u16vec2;
286 using glm::lowp_u16vec3;
287 using glm::lowp_u16vec4;
288 using glm::mediump_u16vec1;
289 using glm::mediump_u16vec2;
290 using glm::mediump_u16vec3;
291 using glm::mediump_u16vec4;
292 using glm::highp_u16vec1;
293 using glm::highp_u16vec2;
294 using glm::highp_u16vec3;
295 using glm::highp_u16vec4;
296 using glm::u16vec1;
297 using glm::u16vec2;
298 using glm::u16vec3;
299 using glm::u16vec4;
300 using glm::lowp_u32vec1;
301 using glm::lowp_u32vec2;
302 using glm::lowp_u32vec3;
303 using glm::lowp_u32vec4;
304 using glm::mediump_u32vec1;
305 using glm::mediump_u32vec2;
306 using glm::mediump_u32vec3;
307 using glm::mediump_u32vec4;
308 using glm::highp_u32vec1;
309 using glm::highp_u32vec2;
310 using glm::highp_u32vec3;
311 using glm::highp_u32vec4;
312 using glm::u32vec1;
313 using glm::u32vec2;
314 using glm::u32vec3;
315 using glm::u32vec4;
316 using glm::lowp_u64vec1;
317 using glm::lowp_u64vec2;
318 using glm::lowp_u64vec3;
319 using glm::lowp_u64vec4;
320 using glm::mediump_u64vec1;
321 using glm::mediump_u64vec2;
322 using glm::mediump_u64vec3;
323 using glm::mediump_u64vec4;
324 using glm::highp_u64vec1;
325 using glm::highp_u64vec2;
326 using glm::highp_u64vec3;
327 using glm::highp_u64vec4;
328 using glm::u64vec1;
329 using glm::u64vec2;
330 using glm::u64vec3;
331 using glm::u64vec4;
332 using glm::lowp_vec1;
333 using glm::lowp_vec2;
334 using glm::lowp_vec3;
335 using glm::lowp_vec4;
336 using glm::mediump_vec1;
337 using glm::mediump_vec2;
338 using glm::mediump_vec3;
339 using glm::mediump_vec4;
340 using glm::highp_vec1;
341 using glm::highp_vec2;
342 using glm::highp_vec3;
343 using glm::highp_vec4;
344 using glm::vec1;
345 using glm::vec2;
346 using glm::vec3;
347 using glm::vec4;
348 using glm::lowp_fvec1;
349 using glm::lowp_fvec2;
350 using glm::lowp_fvec3;
351 using glm::lowp_fvec4;
352 using glm::mediump_fvec1;
353 using glm::mediump_fvec2;
354 using glm::mediump_fvec3;
355 using glm::mediump_fvec4;
356 using glm::highp_fvec1;
357 using glm::highp_fvec2;
358 using glm::highp_fvec3;
359 using glm::highp_fvec4;
360 using glm::fvec1;
361 using glm::fvec2;
362 using glm::fvec3;
363 using glm::fvec4;
364 using glm::lowp_f32vec1;
365 using glm::lowp_f32vec2;
366 using glm::lowp_f32vec3;
367 using glm::lowp_f32vec4;
368 using glm::mediump_f32vec1;
369 using glm::mediump_f32vec2;
370 using glm::mediump_f32vec3;
371 using glm::mediump_f32vec4;
372 using glm::highp_f32vec1;
373 using glm::highp_f32vec2;
374 using glm::highp_f32vec3;
375 using glm::highp_f32vec4;
376 using glm::f32vec1;
377 using glm::f32vec2;
378 using glm::f32vec3;
379 using glm::f32vec4;
380 using glm::lowp_dvec1;
381 using glm::lowp_dvec2;
382 using glm::lowp_dvec3;
383 using glm::lowp_dvec4;
384 using glm::mediump_dvec1;
385 using glm::mediump_dvec2;
386 using glm::mediump_dvec3;
387 using glm::mediump_dvec4;
388 using glm::highp_dvec1;
389 using glm::highp_dvec2;
390 using glm::highp_dvec3;
391 using glm::highp_dvec4;
392 using glm::dvec1;
393 using glm::dvec2;
394 using glm::dvec3;
395 using glm::dvec4;
396 using glm::lowp_f64vec1;
397 using glm::lowp_f64vec2;
398 using glm::lowp_f64vec3;
399 using glm::lowp_f64vec4;
400 using glm::mediump_f64vec1;
401 using glm::mediump_f64vec2;
402 using glm::mediump_f64vec3;
403 using glm::mediump_f64vec4;
404 using glm::highp_f64vec1;
405 using glm::highp_f64vec2;
406 using glm::highp_f64vec3;
407 using glm::highp_f64vec4;
408 using glm::f64vec1;
409 using glm::f64vec2;
410 using glm::f64vec3;
411 using glm::f64vec4;
412 using glm::lowp_mat2;
413 using glm::lowp_mat3;
414 using glm::lowp_mat4;
415 using glm::mediump_mat2;
416 using glm::mediump_mat3;
417 using glm::mediump_mat4;
418 using glm::highp_mat2;
419 using glm::highp_mat3;
420 using glm::highp_mat4;
421 using glm::mat2;
422 using glm::mat3;
423 using glm::mat4;
424 using glm::lowp_fmat2;
425 using glm::lowp_fmat3;
426 using glm::lowp_fmat4;
427 using glm::mediump_fmat2;
428 using glm::mediump_fmat3;
429 using glm::mediump_fmat4;
430 using glm::highp_fmat2;
431 using glm::highp_fmat3;
432 using glm::highp_fmat4;
433 using glm::fmat2;
434 using glm::fmat3;
435 using glm::fmat4;
436 using glm::lowp_f32mat2;
437 using glm::lowp_f32mat3;
438 using glm::lowp_f32mat4;
439 using glm::mediump_f32mat2;
440 using glm::mediump_f32mat3;
441 using glm::mediump_f32mat4;
442 using glm::highp_f32mat2;
443 using glm::highp_f32mat3;
444 using glm::highp_f32mat4;
445 using glm::f32mat2;
446 using glm::f32mat3;
447 using glm::f32mat4;
448 using glm::lowp_dmat2;
449 using glm::lowp_dmat3;
450 using glm::lowp_dmat4;
451 using glm::mediump_dmat2;
452 using glm::mediump_dmat3;
453 using glm::mediump_dmat4;
454 using glm::highp_dmat2;
455 using glm::highp_dmat3;
456 using glm::highp_dmat4;
457 using glm::dmat2;
458 using glm::dmat3;
459 using glm::dmat4;
460 using glm::lowp_f64mat2;
461 using glm::lowp_f64mat3;
462 using glm::lowp_f64mat4;
463 using glm::mediump_f64mat2;
464 using glm::mediump_f64mat3;
465 using glm::mediump_f64mat4;
466 using glm::highp_f64mat2;
467 using glm::highp_f64mat3;
468 using glm::highp_f64mat4;
469 using glm::f64mat2;
470 using glm::f64mat3;
471 using glm::f64mat4;
472 using glm::lowp_mat2x2;
473 using glm::lowp_mat2x3;
474 using glm::lowp_mat2x4;
475 using glm::lowp_mat3x2;
476 using glm::lowp_mat3x3;
477 using glm::lowp_mat3x4;
478 using glm::lowp_mat4x2;
479 using glm::lowp_mat4x3;
480 using glm::lowp_mat4x4;
481 using glm::mediump_mat2x2;
482 using glm::mediump_mat2x3;
483 using glm::mediump_mat2x4;
484 using glm::mediump_mat3x2;
485 using glm::mediump_mat3x3;
486 using glm::mediump_mat3x4;
487 using glm::mediump_mat4x2;
488 using glm::mediump_mat4x3;
489 using glm::mediump_mat4x4;
490 using glm::highp_mat2x2;
491 using glm::highp_mat2x3;
492 using glm::highp_mat2x4;
493 using glm::highp_mat3x2;
494 using glm::highp_mat3x3;
495 using glm::highp_mat3x4;
496 using glm::highp_mat4x2;
497 using glm::highp_mat4x3;
498 using glm::highp_mat4x4;
499 using glm::mat2x2;
500 using glm::mat2x3;
501 using glm::mat2x4;
502 using glm::mat3x2;
503 using glm::mat3x3;
504 using glm::mat3x4;
505 using glm::mat4x2;
506 using glm::mat4x3;
507 using glm::mat4x4;
508 using glm::lowp_fmat2x2;
509 using glm::lowp_fmat2x3;
510 using glm::lowp_fmat2x4;
511 using glm::lowp_fmat3x2;
512 using glm::lowp_fmat3x3;
513 using glm::lowp_fmat3x4;
514 using glm::lowp_fmat4x2;
515 using glm::lowp_fmat4x3;
516 using glm::lowp_fmat4x4;
517 using glm::mediump_fmat2x2;
518 using glm::mediump_fmat2x3;
519 using glm::mediump_fmat2x4;
520 using glm::mediump_fmat3x2;
521 using glm::mediump_fmat3x3;
522 using glm::mediump_fmat3x4;
523 using glm::mediump_fmat4x2;
524 using glm::mediump_fmat4x3;
525 using glm::mediump_fmat4x4;
526 using glm::highp_fmat2x2;
527 using glm::highp_fmat2x3;
528 using glm::highp_fmat2x4;
529 using glm::highp_fmat3x2;
530 using glm::highp_fmat3x3;
531 using glm::highp_fmat3x4;
532 using glm::highp_fmat4x2;
533 using glm::highp_fmat4x3;
534 using glm::highp_fmat4x4;
535 using glm::fmat2x2;
536 using glm::fmat2x3;
537 using glm::fmat2x4;
538 using glm::fmat3x2;
539 using glm::fmat3x3;
540 using glm::fmat3x4;
541 using glm::fmat4x2;
542 using glm::fmat4x3;
543 using glm::fmat4x4;
544 using glm::lowp_f32mat2x2;
545 using glm::lowp_f32mat2x3;
546 using glm::lowp_f32mat2x4;
547 using glm::lowp_f32mat3x2;
548 using glm::lowp_f32mat3x3;
549 using glm::lowp_f32mat3x4;
550 using glm::lowp_f32mat4x2;
551 using glm::lowp_f32mat4x3;
552 using glm::lowp_f32mat4x4;
553
554 using glm::mediump_f32mat2x2;
555 using glm::mediump_f32mat2x3;
556 using glm::mediump_f32mat2x4;
557 using glm::mediump_f32mat3x2;
558 using glm::mediump_f32mat3x3;
559 using glm::mediump_f32mat3x4;
560 using glm::mediump_f32mat4x2;
561 using glm::mediump_f32mat4x3;
562 using glm::mediump_f32mat4x4;
563 using glm::highp_f32mat2x2;
564 using glm::highp_f32mat2x3;
565 using glm::highp_f32mat2x4;
566 using glm::highp_f32mat3x2;
567 using glm::highp_f32mat3x3;
568 using glm::highp_f32mat3x4;
569 using glm::highp_f32mat4x2;
570 using glm::highp_f32mat4x3;
571 using glm::highp_f32mat4x4;
572 using glm::f32mat2x2;
573 using glm::f32mat2x3;
574 using glm::f32mat2x4;
575 using glm::f32mat3x2;
576 using glm::f32mat3x3;
577 using glm::f32mat3x4;
578 using glm::f32mat4x2;
579 using glm::f32mat4x3;
580 using glm::f32mat4x4;
581 using glm::lowp_dmat2x2;
582 using glm::lowp_dmat2x3;
583 using glm::lowp_dmat2x4;
584 using glm::lowp_dmat3x2;
585 using glm::lowp_dmat3x3;
586 using glm::lowp_dmat3x4;
587 using glm::lowp_dmat4x2;
588 using glm::lowp_dmat4x3;
589 using glm::lowp_dmat4x4;
590 using glm::mediump_dmat2x2;
591 using glm::mediump_dmat2x3;
592 using glm::mediump_dmat2x4;
593 using glm::mediump_dmat3x2;
594 using glm::mediump_dmat3x3;
595 using glm::mediump_dmat3x4;
596 using glm::mediump_dmat4x2;
597 using glm::mediump_dmat4x3;
598 using glm::mediump_dmat4x4;
599 using glm::highp_dmat2x2;
600 using glm::highp_dmat2x3;
601 using glm::highp_dmat2x4;
602 using glm::highp_dmat3x2;
603 using glm::highp_dmat3x3;
604 using glm::highp_dmat3x4;
605 using glm::highp_dmat4x2;
606 using glm::highp_dmat4x3;
607 using glm::highp_dmat4x4;
608 using glm::dmat2x2;
609 using glm::dmat2x3;
610 using glm::dmat2x4;
611 using glm::dmat3x2;
612 using glm::dmat3x3;
613 using glm::dmat3x4;
614 using glm::dmat4x2;
615 using glm::dmat4x3;
616 using glm::dmat4x4;
617 using glm::lowp_f64mat2x2;
618 using glm::lowp_f64mat2x3;
619 using glm::lowp_f64mat2x4;
620 using glm::lowp_f64mat3x2;
621 using glm::lowp_f64mat3x3;
622 using glm::lowp_f64mat3x4;
623 using glm::lowp_f64mat4x2;
624 using glm::lowp_f64mat4x3;
625 using glm::lowp_f64mat4x4;
626 using glm::mediump_f64mat2x2;
627 using glm::mediump_f64mat2x3;
628 using glm::mediump_f64mat2x4;
629 using glm::mediump_f64mat3x2;
630 using glm::mediump_f64mat3x3;
631 using glm::mediump_f64mat3x4;
632 using glm::mediump_f64mat4x2;
633 using glm::mediump_f64mat4x3;
634 using glm::mediump_f64mat4x4;
635 using glm::highp_f64mat2x2;
636 using glm::highp_f64mat2x3;
637 using glm::highp_f64mat2x4;
638 using glm::highp_f64mat3x2;
639 using glm::highp_f64mat3x3;
640 using glm::highp_f64mat3x4;
641 using glm::highp_f64mat4x2;
642 using glm::highp_f64mat4x3;
643 using glm::highp_f64mat4x4;
644 using glm::f64mat2x2;
645 using glm::f64mat2x3;
646 using glm::f64mat2x4;
647 using glm::f64mat3x2;
648 using glm::f64mat3x3;
649 using glm::f64mat3x4;
650 using glm::f64mat4x2;
651 using glm::f64mat4x3;
652 using glm::f64mat4x4;
653 using glm::lowp_imat2x2;
654 using glm::lowp_imat2x3;
655 using glm::lowp_imat2x4;
656 using glm::lowp_imat3x2;
657 using glm::lowp_imat3x3;
658 using glm::lowp_imat3x4;
659 using glm::lowp_imat4x2;
660 using glm::lowp_imat4x3;
661 using glm::lowp_imat4x4;
662 using glm::mediump_imat2x2;
663 using glm::mediump_imat2x3;
664 using glm::mediump_imat2x4;
665 using glm::mediump_imat3x2;
666 using glm::mediump_imat3x3;
667 using glm::mediump_imat3x4;
668 using glm::mediump_imat4x2;
669 using glm::mediump_imat4x3;
670 using glm::mediump_imat4x4;
671 using glm::highp_imat2x2;
672 using glm::highp_imat2x3;
673 using glm::highp_imat2x4;
674 using glm::highp_imat3x2;
675 using glm::highp_imat3x3;
676 using glm::highp_imat3x4;
677 using glm::highp_imat4x2;
678 using glm::highp_imat4x3;
679 using glm::highp_imat4x4;
680 using glm::imat2x2;
681 using glm::imat2x3;
682 using glm::imat2x4;
683 using glm::imat3x2;
684 using glm::imat3x3;
685 using glm::imat3x4;
686 using glm::imat4x2;
687 using glm::imat4x3;
688 using glm::imat4x4;
689 using glm::lowp_i8mat2x2;
690 using glm::lowp_i8mat2x3;
691 using glm::lowp_i8mat2x4;
692 using glm::lowp_i8mat3x2;
693 using glm::lowp_i8mat3x3;
694 using glm::lowp_i8mat3x4;
695 using glm::lowp_i8mat4x2;
696 using glm::lowp_i8mat4x3;
697 using glm::lowp_i8mat4x4;
698 using glm::mediump_i8mat2x2;
699 using glm::mediump_i8mat2x3;
700 using glm::mediump_i8mat2x4;
701 using glm::mediump_i8mat3x2;
702 using glm::mediump_i8mat3x3;
703 using glm::mediump_i8mat3x4;
704 using glm::mediump_i8mat4x2;
705 using glm::mediump_i8mat4x3;
706 using glm::mediump_i8mat4x4;
707 using glm::highp_i8mat2x2;
708 using glm::highp_i8mat2x3;
709 using glm::highp_i8mat2x4;
710 using glm::highp_i8mat3x2;
711 using glm::highp_i8mat3x3;
712 using glm::highp_i8mat3x4;
713 using glm::highp_i8mat4x2;
714 using glm::highp_i8mat4x3;
715 using glm::highp_i8mat4x4;
716 using glm::i8mat2x2;
717 using glm::i8mat2x3;
718 using glm::i8mat2x4;
719 using glm::i8mat3x2;
720 using glm::i8mat3x3;
721 using glm::i8mat3x4;
722 using glm::i8mat4x2;
723 using glm::i8mat4x3;
724 using glm::i8mat4x4;
725 using glm::lowp_i16mat2x2;
726 using glm::lowp_i16mat2x3;
727 using glm::lowp_i16mat2x4;
728 using glm::lowp_i16mat3x2;
729 using glm::lowp_i16mat3x3;
730 using glm::lowp_i16mat3x4;
731 using glm::lowp_i16mat4x2;
732 using glm::lowp_i16mat4x3;
733 using glm::lowp_i16mat4x4;
734 using glm::mediump_i16mat2x2;
735 using glm::mediump_i16mat2x3;
736 using glm::mediump_i16mat2x4;
737 using glm::mediump_i16mat3x2;
738 using glm::mediump_i16mat3x3;
739 using glm::mediump_i16mat3x4;
740 using glm::mediump_i16mat4x2;
741 using glm::mediump_i16mat4x3;
742 using glm::mediump_i16mat4x4;
743 using glm::highp_i16mat2x2;
744 using glm::highp_i16mat2x3;
745 using glm::highp_i16mat2x4;
746 using glm::highp_i16mat3x2;
747 using glm::highp_i16mat3x3;
748 using glm::highp_i16mat3x4;
749 using glm::highp_i16mat4x2;
750 using glm::highp_i16mat4x3;
751 using glm::highp_i16mat4x4;
752 using glm::i16mat2x2;
753 using glm::i16mat2x3;
754 using glm::i16mat2x4;
755 using glm::i16mat3x2;
756 using glm::i16mat3x3;
757 using glm::i16mat3x4;
758 using glm::i16mat4x2;
759 using glm::i16mat4x3;
760 using glm::i16mat4x4;
761 using glm::lowp_i32mat2x2;
762 using glm::lowp_i32mat2x3;
763 using glm::lowp_i32mat2x4;
764 using glm::lowp_i32mat3x2;
765 using glm::lowp_i32mat3x3;
766 using glm::lowp_i32mat3x4;
767 using glm::lowp_i32mat4x2;
768 using glm::lowp_i32mat4x3;
769 using glm::lowp_i32mat4x4;
770 using glm::mediump_i32mat2x2;
771 using glm::mediump_i32mat2x3;
772 using glm::mediump_i32mat2x4;
773 using glm::mediump_i32mat3x2;
774 using glm::mediump_i32mat3x3;
775 using glm::mediump_i32mat3x4;
776 using glm::mediump_i32mat4x2;
777 using glm::mediump_i32mat4x3;
778 using glm::mediump_i32mat4x4;
779 using glm::highp_i32mat2x2;
780 using glm::highp_i32mat2x3;
781 using glm::highp_i32mat2x4;
782 using glm::highp_i32mat3x2;
783 using glm::highp_i32mat3x3;
784 using glm::highp_i32mat3x4;
785 using glm::highp_i32mat4x2;
786 using glm::highp_i32mat4x3;
787 using glm::highp_i32mat4x4;
788 using glm::i32mat2x2;
789 using glm::i32mat2x3;
790 using glm::i32mat2x4;
791 using glm::i32mat3x2;
792 using glm::i32mat3x3;
793 using glm::i32mat3x4;
794 using glm::i32mat4x2;
795 using glm::i32mat4x3;
796 using glm::i32mat4x4;
797 using glm::lowp_i64mat2x2;
798 using glm::lowp_i64mat2x3;
799 using glm::lowp_i64mat2x4;
800 using glm::lowp_i64mat3x2;
801 using glm::lowp_i64mat3x3;
802 using glm::lowp_i64mat3x4;
803 using glm::lowp_i64mat4x2;
804 using glm::lowp_i64mat4x3;
805 using glm::lowp_i64mat4x4;
806 using glm::mediump_i64mat2x2;
807 using glm::mediump_i64mat2x3;
808 using glm::mediump_i64mat2x4;
809 using glm::mediump_i64mat3x2;
810 using glm::mediump_i64mat3x3;
811 using glm::mediump_i64mat3x4;
812 using glm::mediump_i64mat4x2;
813 using glm::mediump_i64mat4x3;
814 using glm::mediump_i64mat4x4;
815 using glm::highp_i64mat2x2;
816 using glm::highp_i64mat2x3;
817 using glm::highp_i64mat2x4;
818 using glm::highp_i64mat3x2;
819 using glm::highp_i64mat3x3;
820 using glm::highp_i64mat3x4;
821 using glm::highp_i64mat4x2;
822 using glm::highp_i64mat4x3;
823 using glm::highp_i64mat4x4;
824 using glm::i64mat2x2;
825 using glm::i64mat2x3;
826 using glm::i64mat2x4;
827 using glm::i64mat3x2;
828 using glm::i64mat3x3;
829 using glm::i64mat3x4;
830 using glm::i64mat4x2;
831 using glm::i64mat4x3;
832 using glm::i64mat4x4;
833 using glm::lowp_umat2x2;
834 using glm::lowp_umat2x3;
835 using glm::lowp_umat2x4;
836 using glm::lowp_umat3x2;
837 using glm::lowp_umat3x3;
838 using glm::lowp_umat3x4;
839 using glm::lowp_umat4x2;
840 using glm::lowp_umat4x3;
841 using glm::lowp_umat4x4;
842 using glm::mediump_umat2x2;
843 using glm::mediump_umat2x3;
844 using glm::mediump_umat2x4;
845 using glm::mediump_umat3x2;
846 using glm::mediump_umat3x3;
847 using glm::mediump_umat3x4;
848 using glm::mediump_umat4x2;
849 using glm::mediump_umat4x3;
850 using glm::mediump_umat4x4;
851 using glm::highp_umat2x2;
852 using glm::highp_umat2x3;
853 using glm::highp_umat2x4;
854 using glm::highp_umat3x2;
855 using glm::highp_umat3x3;
856 using glm::highp_umat3x4;
857 using glm::highp_umat4x2;
858 using glm::highp_umat4x3;
859 using glm::highp_umat4x4;
860 using glm::umat2x2;
861 using glm::umat2x3;
862 using glm::umat2x4;
863 using glm::umat3x2;
864 using glm::umat3x3;
865 using glm::umat3x4;
866 using glm::umat4x2;
867 using glm::umat4x3;
868 using glm::umat4x4;
869 using glm::lowp_u8mat2x2;
870 using glm::lowp_u8mat2x3;
871 using glm::lowp_u8mat2x4;
872 using glm::lowp_u8mat3x2;
873 using glm::lowp_u8mat3x3;
874 using glm::lowp_u8mat3x4;
875 using glm::lowp_u8mat4x2;
876 using glm::lowp_u8mat4x3;
877 using glm::lowp_u8mat4x4;
878 using glm::mediump_u8mat2x2;
879 using glm::mediump_u8mat2x3;
880 using glm::mediump_u8mat2x4;
881 using glm::mediump_u8mat3x2;
882 using glm::mediump_u8mat3x3;
883 using glm::mediump_u8mat3x4;
884 using glm::mediump_u8mat4x2;
885 using glm::mediump_u8mat4x3;
886 using glm::mediump_u8mat4x4;
887 using glm::highp_u8mat2x2;
888 using glm::highp_u8mat2x3;
889 using glm::highp_u8mat2x4;
890 using glm::highp_u8mat3x2;
891 using glm::highp_u8mat3x3;
892 using glm::highp_u8mat3x4;
893 using glm::highp_u8mat4x2;
894 using glm::highp_u8mat4x3;
895 using glm::highp_u8mat4x4;
896 using glm::u8mat2x2;
897 using glm::u8mat2x3;
898 using glm::u8mat2x4;
899 using glm::u8mat3x2;
900 using glm::u8mat3x3;
901 using glm::u8mat3x4;
902 using glm::u8mat4x2;
903 using glm::u8mat4x3;
904 using glm::u8mat4x4;
905 using glm::lowp_u16mat2x2;
906 using glm::lowp_u16mat2x3;
907 using glm::lowp_u16mat2x4;
908 using glm::lowp_u16mat3x2;
909 using glm::lowp_u16mat3x3;
910 using glm::lowp_u16mat3x4;
911 using glm::lowp_u16mat4x2;
912 using glm::lowp_u16mat4x3;
913 using glm::lowp_u16mat4x4;
914 using glm::mediump_u16mat2x2;
915 using glm::mediump_u16mat2x3;
916 using glm::mediump_u16mat2x4;
917 using glm::mediump_u16mat3x2;
918 using glm::mediump_u16mat3x3;
919 using glm::mediump_u16mat3x4;
920 using glm::mediump_u16mat4x2;
921 using glm::mediump_u16mat4x3;
922 using glm::mediump_u16mat4x4;
923 using glm::highp_u16mat2x2;
924 using glm::highp_u16mat2x3;
925 using glm::highp_u16mat2x4;
926 using glm::highp_u16mat3x2;
927 using glm::highp_u16mat3x3;
928 using glm::highp_u16mat3x4;
929 using glm::highp_u16mat4x2;
930 using glm::highp_u16mat4x3;
931 using glm::highp_u16mat4x4;
932 using glm::u16mat2x2;
933 using glm::u16mat2x3;
934 using glm::u16mat2x4;
935 using glm::u16mat3x2;
936 using glm::u16mat3x3;
937 using glm::u16mat3x4;
938 using glm::u16mat4x2;
939 using glm::u16mat4x3;
940 using glm::u16mat4x4;
941 using glm::lowp_u32mat2x2;
942 using glm::lowp_u32mat2x3;
943 using glm::lowp_u32mat2x4;
944 using glm::lowp_u32mat3x2;
945 using glm::lowp_u32mat3x3;
946 using glm::lowp_u32mat3x4;
947 using glm::lowp_u32mat4x2;
948 using glm::lowp_u32mat4x3;
949 using glm::lowp_u32mat4x4;
950 using glm::mediump_u32mat2x2;
951 using glm::mediump_u32mat2x3;
952 using glm::mediump_u32mat2x4;
953 using glm::mediump_u32mat3x2;
954 using glm::mediump_u32mat3x3;
955 using glm::mediump_u32mat3x4;
956 using glm::mediump_u32mat4x2;
957 using glm::mediump_u32mat4x3;
958 using glm::mediump_u32mat4x4;
959 using glm::highp_u32mat2x2;
960 using glm::highp_u32mat2x3;
961 using glm::highp_u32mat2x4;
962 using glm::highp_u32mat3x2;
963 using glm::highp_u32mat3x3;
964 using glm::highp_u32mat3x4;
965 using glm::highp_u32mat4x2;
966 using glm::highp_u32mat4x3;
967 using glm::highp_u32mat4x4;
968 using glm::u32mat2x2;
969 using glm::u32mat2x3;
970 using glm::u32mat2x4;
971 using glm::u32mat3x2;
972 using glm::u32mat3x3;
973 using glm::u32mat3x4;
974 using glm::u32mat4x2;
975 using glm::u32mat4x3;
976 using glm::u32mat4x4;
977 using glm::lowp_u64mat2x2;
978 using glm::lowp_u64mat2x3;
979 using glm::lowp_u64mat2x4;
980 using glm::lowp_u64mat3x2;
981 using glm::lowp_u64mat3x3;
982 using glm::lowp_u64mat3x4;
983 using glm::lowp_u64mat4x2;
984 using glm::lowp_u64mat4x3;
985 using glm::lowp_u64mat4x4;
986 using glm::mediump_u64mat2x2;
987 using glm::mediump_u64mat2x3;
988 using glm::mediump_u64mat2x4;
989 using glm::mediump_u64mat3x2;
990 using glm::mediump_u64mat3x3;
991 using glm::mediump_u64mat3x4;
992 using glm::mediump_u64mat4x2;
993 using glm::mediump_u64mat4x3;
994 using glm::mediump_u64mat4x4;
995 using glm::highp_u64mat2x2;
996 using glm::highp_u64mat2x3;
997 using glm::highp_u64mat2x4;
998 using glm::highp_u64mat3x2;
999 using glm::highp_u64mat3x3;
1000 using glm::highp_u64mat3x4;
1001 using glm::highp_u64mat4x2;
1002 using glm::highp_u64mat4x3;
1003 using glm::highp_u64mat4x4;
1004 using glm::u64mat2x2;
1005 using glm::u64mat2x3;
1006 using glm::u64mat2x4;
1007 using glm::u64mat3x2;
1008 using glm::u64mat3x3;
1009 using glm::u64mat3x4;
1010 using glm::u64mat4x2;
1011 using glm::u64mat4x3;
1012 using glm::u64mat4x4;
1013 using glm::lowp_quat;
1014 using glm::mediump_quat;
1015 using glm::highp_quat;
1016 using glm::quat;
1017 using glm::lowp_fquat;
1018 using glm::mediump_fquat;
1019 using glm::highp_fquat;
1020 using glm::fquat;
1021 using glm::lowp_f32quat;
1022 using glm::mediump_f32quat;
1023 using glm::highp_f32quat;
1024 using glm::f32quat;
1025 using glm::lowp_dquat;
1026 using glm::mediump_dquat;
1027 using glm::highp_dquat;
1028 using glm::dquat;
1029 using glm::lowp_f64quat;
1030 using glm::mediump_f64quat;
1031 using glm::highp_f64quat;
1032 using glm::f64quat;
1033
1034 // Operators
1035 using glm::operator+;
1036 using glm::operator-;
1037 using glm::operator*;
1038 using glm::operator/;
1039 using glm::operator%;
1040 using glm::operator^;
1041 using glm::operator&;
1042 using glm::operator|;
1043 using glm::operator~;
1044 using glm::operator<<;
1045 using glm::operator>>;
1046 using glm::operator==;
1047 using glm::operator!=;
1048 using glm::operator&&;
1049 using glm::operator||;
1050
1051 // Core functions
1052 using glm::abs;
1053 using glm::acos;
1054 using glm::acosh;
1055 using glm::all;
1056 using glm::any;
1057 using glm::asin;
1058 using glm::asinh;
1059 using glm::atan;
1060 using glm::atanh;
1061 using glm::bitCount;
1062 using glm::bitfieldExtract;
1063 using glm::bitfieldInsert;
1064 using glm::bitfieldReverse;
1065 using glm::ceil;
1066 using glm::clamp;
1067 using glm::cos;
1068 using glm::cosh;
1069 using glm::cross;
1070 using glm::degrees;
1071 using glm::determinant;
1072 using glm::distance;
1073 using glm::dot;
1074 using glm::equal;
1075 using glm::exp;
1076 using glm::exp2;
1077 using glm::faceforward;
1078 using glm::findLSB;
1079 using glm::findMSB;
1080 using glm::floatBitsToInt;
1081 using glm::floatBitsToUint;
1082 using glm::floor;
1083 using glm::fma;
1084 using glm::fract;
1085 using glm::frexp;
1086 using glm::greaterThan;
1087 using glm::greaterThanEqual;
1088 using glm::imulExtended;
1089 using glm::intBitsToFloat;
1090 using glm::inverse;
1091 using glm::inversesqrt;
1092 using glm::isinf;
1093 using glm::isnan;
1094 using glm::ldexp;
1095 using glm::length;
1096 using glm::lessThan;
1097 using glm::lessThanEqual;
1098 using glm::log;
1099 using glm::log2;
1100 using glm::matrixCompMult;
1101 using glm::max;
1102 using glm::min;
1103 using glm::mix;
1104 using glm::mod;
1105 using glm::modf;
1106 using glm::normalize;
1107 using glm::notEqual;
1108 using glm::not_;
1109 using glm::outerProduct;
1110 using glm::packDouble2x32;
1111 using glm::packHalf2x16;
1112 using glm::packSnorm2x16;
1113 using glm::packSnorm4x8;
1114 using glm::packUnorm2x16;
1115 using glm::packUnorm4x8;
1116 using glm::pow;
1117 using glm::radians;
1118 using glm::reflect;
1119 using glm::refract;
1120 using glm::round;
1121 using glm::roundEven;
1122 using glm::sign;
1123 using glm::sin;
1124 using glm::sinh;
1125 using glm::smoothstep;
1126 using glm::sqrt;
1127 using glm::step;
1128 using glm::tan;
1129 using glm::tanh;
1130 using glm::transpose;
1131 using glm::trunc;
1132 using glm::uaddCarry;
1133 using glm::uintBitsToFloat;
1134 using glm::umulExtended;
1135 using glm::unpackDouble2x32;
1136 using glm::unpackHalf2x16;
1137 using glm::unpackSnorm2x16;
1138 using glm::unpackSnorm4x8;
1139 using glm::unpackUnorm2x16;
1140 using glm::unpackUnorm4x8;
1141 using glm::usubBorrow;
1142
1143# ifdef GLM_GTC_INLINE_NAMESPACE
1144 inline
1145# endif
1146 namespace gtc {
1147# if GLM_CONFIG_ALIGNED_GENTYPES == GLM_ENABLE
1148 using glm::aligned_highp_vec1;
1149 using glm::aligned_mediump_vec1;
1150 using glm::aligned_lowp_vec1;
1151 using glm::aligned_highp_dvec1;
1152 using glm::aligned_mediump_dvec1;
1153 using glm::aligned_lowp_dvec1;
1154 using glm::aligned_highp_ivec1;
1155 using glm::aligned_mediump_ivec1;
1156 using glm::aligned_lowp_ivec1;
1157 using glm::aligned_highp_uvec1;
1158 using glm::aligned_mediump_uvec1;
1159 using glm::aligned_lowp_uvec1;
1160 using glm::aligned_highp_bvec1;
1161 using glm::aligned_mediump_bvec1;
1162 using glm::aligned_lowp_bvec1;
1163 using glm::packed_highp_vec1;
1164 using glm::packed_mediump_vec1;
1165 using glm::packed_lowp_vec1;
1166 using glm::packed_highp_dvec1;
1167 using glm::packed_mediump_dvec1;
1168 using glm::packed_lowp_dvec1;
1169 using glm::packed_highp_ivec1;
1170 using glm::packed_mediump_ivec1;
1171 using glm::packed_lowp_ivec1;
1172 using glm::packed_highp_uvec1;
1173 using glm::packed_mediump_uvec1;
1174 using glm::packed_lowp_uvec1;
1175 using glm::packed_highp_bvec1;
1176 using glm::packed_mediump_bvec1;
1177 using glm::packed_lowp_bvec1;
1178 using glm::aligned_highp_vec2;
1179 using glm::aligned_mediump_vec2;
1180 using glm::aligned_lowp_vec2;
1181 using glm::aligned_highp_dvec2;
1182 using glm::aligned_mediump_dvec2;
1183 using glm::aligned_lowp_dvec2;
1184 using glm::aligned_highp_ivec2;
1185 using glm::aligned_mediump_ivec2;
1186 using glm::aligned_lowp_ivec2;
1187 using glm::aligned_highp_uvec2;
1188 using glm::aligned_mediump_uvec2;
1189 using glm::aligned_lowp_uvec2;
1190 using glm::aligned_highp_bvec2;
1191 using glm::aligned_mediump_bvec2;
1192 using glm::aligned_lowp_bvec2;
1193 using glm::packed_highp_vec2;
1194 using glm::packed_mediump_vec2;
1195 using glm::packed_lowp_vec2;
1196 using glm::packed_highp_dvec2;
1197 using glm::packed_mediump_dvec2;
1198 using glm::packed_lowp_dvec2;
1199 using glm::packed_highp_ivec2;
1200 using glm::packed_mediump_ivec2;
1201 using glm::packed_lowp_ivec2;
1202 using glm::packed_highp_uvec2;
1203 using glm::packed_mediump_uvec2;
1204 using glm::packed_lowp_uvec2;
1205 using glm::packed_highp_bvec2;
1206 using glm::packed_mediump_bvec2;
1207 using glm::packed_lowp_bvec2;
1208 using glm::aligned_highp_vec3;
1209 using glm::aligned_mediump_vec3;
1210 using glm::aligned_lowp_vec3;
1211 using glm::aligned_highp_dvec3;
1212 using glm::aligned_mediump_dvec3;
1213 using glm::aligned_lowp_dvec3;
1214 using glm::aligned_highp_ivec3;
1215 using glm::aligned_mediump_ivec3;
1216 using glm::aligned_lowp_ivec3;
1217 using glm::aligned_highp_uvec3;
1218 using glm::aligned_mediump_uvec3;
1219 using glm::aligned_lowp_uvec3;
1220 using glm::aligned_highp_bvec3;
1221 using glm::aligned_mediump_bvec3;
1222 using glm::aligned_lowp_bvec3;
1223 using glm::packed_highp_vec3;
1224 using glm::packed_mediump_vec3;
1225 using glm::packed_lowp_vec3;
1226 using glm::packed_highp_dvec3;
1227 using glm::packed_mediump_dvec3;
1228 using glm::packed_lowp_dvec3;
1229 using glm::packed_highp_ivec3;
1230 using glm::packed_mediump_ivec3;
1231 using glm::packed_lowp_ivec3;
1232 using glm::packed_highp_uvec3;
1233 using glm::packed_mediump_uvec3;
1234 using glm::packed_lowp_uvec3;
1235 using glm::packed_highp_bvec3;
1236 using glm::packed_mediump_bvec3;
1237 using glm::packed_lowp_bvec3;
1238 using glm::aligned_highp_vec4;
1239 using glm::aligned_mediump_vec4;
1240 using glm::aligned_lowp_vec4;
1241 using glm::aligned_highp_dvec4;
1242 using glm::aligned_mediump_dvec4;
1243 using glm::aligned_lowp_dvec4;
1244 using glm::aligned_highp_ivec4;
1245 using glm::aligned_mediump_ivec4;
1246 using glm::aligned_lowp_ivec4;
1247 using glm::aligned_highp_uvec4;
1248 using glm::aligned_mediump_uvec4;
1249 using glm::aligned_lowp_uvec4;
1250 using glm::aligned_highp_bvec4;
1251 using glm::aligned_mediump_bvec4;
1252 using glm::aligned_lowp_bvec4;
1253 using glm::packed_highp_vec4;
1254 using glm::packed_mediump_vec4;
1255 using glm::packed_lowp_vec4;
1256 using glm::packed_highp_dvec4;
1257 using glm::packed_mediump_dvec4;
1258 using glm::packed_lowp_dvec4;
1259 using glm::packed_highp_ivec4;
1260 using glm::packed_mediump_ivec4;
1261 using glm::packed_lowp_ivec4;
1262 using glm::packed_highp_uvec4;
1263 using glm::packed_mediump_uvec4;
1264 using glm::packed_lowp_uvec4;
1265 using glm::packed_highp_bvec4;
1266 using glm::packed_mediump_bvec4;
1267 using glm::packed_lowp_bvec4;
1268 using glm::aligned_highp_mat2;
1269 using glm::aligned_mediump_mat2;
1270 using glm::aligned_lowp_mat2;
1271 using glm::aligned_highp_dmat2;
1272 using glm::aligned_mediump_dmat2;
1273 using glm::aligned_lowp_dmat2;
1274 using glm::packed_highp_mat2;
1275 using glm::packed_mediump_mat2;
1276 using glm::packed_lowp_mat2;
1277 using glm::packed_highp_dmat2;
1278 using glm::packed_mediump_dmat2;
1279 using glm::packed_lowp_dmat2;
1280 using glm::aligned_highp_mat3;
1281 using glm::aligned_mediump_mat3;
1282 using glm::aligned_lowp_mat3;
1283 using glm::aligned_highp_dmat3;
1284 using glm::aligned_mediump_dmat3;
1285 using glm::aligned_lowp_dmat3;
1286 using glm::packed_highp_mat3;
1287 using glm::packed_mediump_mat3;
1288 using glm::packed_lowp_mat3;
1289 using glm::packed_highp_dmat3;
1290 using glm::packed_mediump_dmat3;
1291 using glm::packed_lowp_dmat3;
1292 using glm::aligned_highp_mat4;
1293 using glm::aligned_mediump_mat4;
1294 using glm::aligned_lowp_mat4;
1295 using glm::aligned_highp_dmat4;
1296 using glm::aligned_mediump_dmat4;
1297 using glm::aligned_lowp_dmat4;
1298 using glm::packed_highp_mat4;
1299 using glm::packed_mediump_mat4;
1300 using glm::packed_lowp_mat4;
1301 using glm::packed_highp_dmat4;
1302 using glm::packed_mediump_dmat4;
1303 using glm::packed_lowp_dmat4;
1304 using glm::aligned_highp_mat2x2;
1305 using glm::aligned_mediump_mat2x2;
1306 using glm::aligned_lowp_mat2x2;
1307 using glm::aligned_highp_dmat2x2;
1308 using glm::aligned_mediump_dmat2x2;
1309 using glm::aligned_lowp_dmat2x2;
1310 using glm::packed_highp_mat2x2;
1311 using glm::packed_mediump_mat2x2;
1312 using glm::packed_lowp_mat2x2;
1313 using glm::packed_highp_dmat2x2;
1314 using glm::packed_mediump_dmat2x2;
1315 using glm::packed_lowp_dmat2x2;
1316 using glm::aligned_highp_mat2x3;
1317 using glm::aligned_mediump_mat2x3;
1318 using glm::aligned_lowp_mat2x3;
1319 using glm::aligned_highp_dmat2x3;
1320 using glm::aligned_mediump_dmat2x3;
1321 using glm::aligned_lowp_dmat2x3;
1322 using glm::packed_highp_mat2x3;
1323 using glm::packed_mediump_mat2x3;
1324 using glm::packed_lowp_mat2x3;
1325 using glm::packed_highp_dmat2x3;
1326 using glm::packed_mediump_dmat2x3;
1327 using glm::packed_lowp_dmat2x3;
1328 using glm::aligned_highp_mat2x4;
1329 using glm::aligned_mediump_mat2x4;
1330 using glm::aligned_lowp_mat2x4;
1331 using glm::aligned_highp_dmat2x4;
1332 using glm::aligned_mediump_dmat2x4;
1333 using glm::aligned_lowp_dmat2x4;
1334 using glm::packed_highp_mat2x4;
1335 using glm::packed_mediump_mat2x4;
1336 using glm::packed_lowp_mat2x4;
1337 using glm::packed_highp_dmat2x4;
1338 using glm::packed_mediump_dmat2x4;
1339 using glm::packed_lowp_dmat2x4;
1340 using glm::aligned_highp_mat3x2;
1341 using glm::aligned_mediump_mat3x2;
1342 using glm::aligned_lowp_mat3x2;
1343 using glm::aligned_highp_dmat3x2;
1344 using glm::aligned_mediump_dmat3x2;
1345 using glm::aligned_lowp_dmat3x2;
1346 using glm::packed_highp_mat3x2;
1347 using glm::packed_mediump_mat3x2;
1348 using glm::packed_lowp_mat3x2;
1349 using glm::packed_highp_dmat3x2;
1350 using glm::packed_mediump_dmat3x2;
1351 using glm::packed_lowp_dmat3x2;
1352 using glm::aligned_highp_mat3x3;
1353 using glm::aligned_mediump_mat3x3;
1354 using glm::aligned_lowp_mat3x3;
1355 using glm::aligned_highp_dmat3x3;
1356 using glm::aligned_mediump_dmat3x3;
1357 using glm::aligned_lowp_dmat3x3;
1358 using glm::packed_highp_mat3x3;
1359 using glm::packed_mediump_mat3x3;
1360 using glm::packed_lowp_mat3x3;
1361 using glm::packed_highp_dmat3x3;
1362 using glm::packed_mediump_dmat3x3;
1363 using glm::packed_lowp_dmat3x3;
1364 using glm::aligned_highp_mat3x4;
1365 using glm::aligned_mediump_mat3x4;
1366 using glm::aligned_lowp_mat3x4;
1367 using glm::aligned_highp_dmat3x4;
1368 using glm::aligned_mediump_dmat3x4;
1369 using glm::aligned_lowp_dmat3x4;
1370 using glm::packed_highp_mat3x4;
1371 using glm::packed_mediump_mat3x4;
1372 using glm::packed_lowp_mat3x4;
1373 using glm::packed_highp_dmat3x4;
1374 using glm::packed_mediump_dmat3x4;
1375 using glm::packed_lowp_dmat3x4;
1376 using glm::aligned_highp_mat4x2;
1377 using glm::aligned_mediump_mat4x2;
1378 using glm::aligned_lowp_mat4x2;
1379 using glm::aligned_highp_dmat4x2;
1380 using glm::aligned_mediump_dmat4x2;
1381 using glm::aligned_lowp_dmat4x2;
1382 using glm::packed_highp_mat4x2;
1383 using glm::packed_mediump_mat4x2;
1384 using glm::packed_lowp_mat4x2;
1385 using glm::packed_highp_dmat4x2;
1386 using glm::packed_mediump_dmat4x2;
1387 using glm::packed_lowp_dmat4x2;
1388 using glm::aligned_highp_mat4x3;
1389 using glm::aligned_mediump_mat4x3;
1390 using glm::aligned_lowp_mat4x3;
1391 using glm::aligned_highp_dmat4x3;
1392 using glm::aligned_mediump_dmat4x3;
1393 using glm::aligned_lowp_dmat4x3;
1394 using glm::packed_highp_mat4x3;
1395 using glm::packed_mediump_mat4x3;
1396 using glm::packed_lowp_mat4x3;
1397 using glm::packed_highp_dmat4x3;
1398 using glm::packed_mediump_dmat4x3;
1399 using glm::packed_lowp_dmat4x3;
1400 using glm::aligned_highp_mat4x4;
1401 using glm::aligned_mediump_mat4x4;
1402 using glm::aligned_lowp_mat4x4;
1403 using glm::aligned_highp_dmat4x4;
1404 using glm::aligned_mediump_dmat4x4;
1405 using glm::aligned_lowp_dmat4x4;
1406 using glm::packed_highp_mat4x4;
1407 using glm::packed_mediump_mat4x4;
1408 using glm::packed_lowp_mat4x4;
1409 using glm::packed_highp_dmat4x4;
1410 using glm::packed_mediump_dmat4x4;
1411 using glm::packed_lowp_dmat4x4;
1412# if(defined(GLM_PRECISION_LOWP_FLOAT))
1413 using glm::aligned_vec1;
1414 using glm::aligned_vec2;
1415 using glm::aligned_vec3;
1416 using glm::aligned_vec4;
1417 using glm::packed_vec1;
1418 using glm::packed_vec2;
1419 using glm::packed_vec3;
1420 using glm::packed_vec4;
1421 using glm::aligned_mat2;
1422 using glm::aligned_mat3;
1423 using glm::aligned_mat4;
1424 using glm::packed_mat2;
1425 using glm::packed_mat3;
1426 using glm::packed_mat4;
1427 using glm::aligned_mat2x2;
1428 using glm::aligned_mat2x3;
1429 using glm::aligned_mat2x4;
1430 using glm::aligned_mat3x2;
1431 using glm::aligned_mat3x3;
1432 using glm::aligned_mat3x4;
1433 using glm::aligned_mat4x2;
1434 using glm::aligned_mat4x3;
1435 using glm::aligned_mat4x4;
1436 using glm::packed_mat2x2;
1437 using glm::packed_mat2x3;
1438 using glm::packed_mat2x4;
1439 using glm::packed_mat3x2;
1440 using glm::packed_mat3x3;
1441 using glm::packed_mat3x4;
1442 using glm::packed_mat4x2;
1443 using glm::packed_mat4x3;
1444 using glm::packed_mat4x4;
1445# elif(defined(GLM_PRECISION_MEDIUMP_FLOAT))
1446 using glm::aligned_vec1;
1447 using glm::aligned_vec2;
1448 using glm::aligned_vec3;
1449 using glm::aligned_vec4;
1450 using glm::packed_vec1;
1451 using glm::packed_vec2;
1452 using glm::packed_vec3;
1453 using glm::packed_vec4;
1454 using glm::aligned_mat2;
1455 using glm::aligned_mat3;
1456 using glm::aligned_mat4;
1457 using glm::packed_mat2;
1458 using glm::packed_mat3;
1459 using glm::packed_mat4;
1460 using glm::aligned_mat2x2;
1461 using glm::aligned_mat2x3;
1462 using glm::aligned_mat2x4;
1463 using glm::aligned_mat3x2;
1464 using glm::aligned_mat3x3;
1465 using glm::aligned_mat3x4;
1466 using glm::aligned_mat4x2;
1467 using glm::aligned_mat4x3;
1468 using glm::aligned_mat4x4;
1469 using glm::packed_mat2x2;
1470 using glm::packed_mat2x3;
1471 using glm::packed_mat2x4;
1472 using glm::packed_mat3x2;
1473 using glm::packed_mat3x3;
1474 using glm::packed_mat3x4;
1475 using glm::packed_mat4x2;
1476 using glm::packed_mat4x3;
1477 using glm::packed_mat4x4;
1478# else //defined(GLM_PRECISION_HIGHP_FLOAT)
1479 using glm::aligned_vec1;
1480 using glm::aligned_vec2;
1481 using glm::aligned_vec3;
1482 using glm::aligned_vec4;
1483 using glm::packed_vec1;
1484 using glm::packed_vec2;
1485 using glm::packed_vec3;
1486 using glm::packed_vec4;
1487 using glm::aligned_mat2;
1488 using glm::aligned_mat3;
1489 using glm::aligned_mat4;
1490 using glm::packed_mat2;
1491 using glm::packed_mat3;
1492 using glm::packed_mat4;
1493 using glm::aligned_mat2x2;
1494 using glm::aligned_mat2x3;
1495 using glm::aligned_mat2x4;
1496 using glm::aligned_mat3x2;
1497 using glm::aligned_mat3x3;
1498 using glm::aligned_mat3x4;
1499 using glm::aligned_mat4x2;
1500 using glm::aligned_mat4x3;
1501 using glm::aligned_mat4x4;
1502 using glm::packed_mat2x2;
1503 using glm::packed_mat2x3;
1504 using glm::packed_mat2x4;
1505 using glm::packed_mat3x2;
1506 using glm::packed_mat3x3;
1507 using glm::packed_mat3x4;
1508 using glm::packed_mat4x2;
1509 using glm::packed_mat4x3;
1510 using glm::packed_mat4x4;
1511# endif//GLM_PRECISION
1512# if(defined(GLM_PRECISION_LOWP_DOUBLE))
1513 using glm::aligned_dvec1;
1514 using glm::aligned_dvec2;
1515 using glm::aligned_dvec3;
1516 using glm::aligned_dvec4;
1517 using glm::packed_dvec1;
1518 using glm::packed_dvec2;
1519 using glm::packed_dvec3;
1520 using glm::packed_dvec4;
1521 using glm::aligned_dmat2;
1522 using glm::aligned_dmat3;
1523 using glm::aligned_dmat4;
1524 using glm::packed_dmat2;
1525 using glm::packed_dmat3;
1526 using glm::packed_dmat4;
1527 using glm::aligned_dmat2x2;
1528 using glm::aligned_dmat2x3;
1529 using glm::aligned_dmat2x4;
1530 using glm::aligned_dmat3x2;
1531 using glm::aligned_dmat3x3;
1532 using glm::aligned_dmat3x4;
1533 using glm::aligned_dmat4x2;
1534 using glm::aligned_dmat4x3;
1535 using glm::aligned_dmat4x4;
1536 using glm::packed_dmat2x2;
1537 using glm::packed_dmat2x3;
1538 using glm::packed_dmat2x4;
1539 using glm::packed_dmat3x2;
1540 using glm::packed_dmat3x3;
1541 using glm::packed_dmat3x4;
1542 using glm::packed_dmat4x2;
1543 using glm::packed_dmat4x3;
1544 using glm::packed_dmat4x4;
1545# elif(defined(GLM_PRECISION_MEDIUMP_DOUBLE))
1546 using glm::aligned_dvec1;
1547 using glm::aligned_dvec2;
1548 using glm::aligned_dvec3;
1549 using glm::aligned_dvec4;
1550 using glm::packed_dvec1;
1551 using glm::packed_dvec2;
1552 using glm::packed_dvec3;
1553 using glm::packed_dvec4;
1554 using glm::aligned_dmat2;
1555 using glm::aligned_dmat3;
1556 using glm::aligned_dmat4;
1557 using glm::packed_dmat2;
1558 using glm::packed_dmat3;
1559 using glm::packed_dmat4;
1560 using glm::aligned_dmat2x2;
1561 using glm::aligned_dmat2x3;
1562 using glm::aligned_dmat2x4;
1563 using glm::aligned_dmat3x2;
1564 using glm::aligned_dmat3x3;
1565 using glm::aligned_dmat3x4;
1566 using glm::aligned_dmat4x2;
1567 using glm::aligned_dmat4x3;
1568 using glm::aligned_dmat4x4;
1569 using glm::packed_dmat2x2;
1570 using glm::packed_dmat2x3;
1571 using glm::packed_dmat2x4;
1572 using glm::packed_dmat3x2;
1573 using glm::packed_dmat3x3;
1574 using glm::packed_dmat3x4;
1575 using glm::packed_dmat4x2;
1576 using glm::packed_dmat4x3;
1577 using glm::packed_dmat4x4;
1578# else //defined(GLM_PRECISION_HIGHP_DOUBLE)
1579 using glm::aligned_dvec1;
1580 using glm::aligned_dvec2;
1581 using glm::aligned_dvec3;
1582 using glm::aligned_dvec4;
1583 using glm::packed_dvec1;
1584 using glm::packed_dvec2;
1585 using glm::packed_dvec3;
1586 using glm::packed_dvec4;
1587 using glm::aligned_dmat2;
1588 using glm::aligned_dmat3;
1589 using glm::aligned_dmat4;
1590 using glm::packed_dmat2;
1591 using glm::packed_dmat3;
1592 using glm::packed_dmat4;
1593 using glm::aligned_dmat2x2;
1594 using glm::aligned_dmat2x3;
1595 using glm::aligned_dmat2x4;
1596 using glm::aligned_dmat3x2;
1597 using glm::aligned_dmat3x3;
1598 using glm::aligned_dmat3x4;
1599 using glm::aligned_dmat4x2;
1600 using glm::aligned_dmat4x3;
1601 using glm::aligned_dmat4x4;
1602 using glm::packed_dmat2x2;
1603 using glm::packed_dmat2x3;
1604 using glm::packed_dmat2x4;
1605 using glm::packed_dmat3x2;
1606 using glm::packed_dmat3x3;
1607 using glm::packed_dmat3x4;
1608 using glm::packed_dmat4x2;
1609 using glm::packed_dmat4x3;
1610 using glm::packed_dmat4x4;
1611# endif//GLM_PRECISION
1612# if(defined(GLM_PRECISION_LOWP_INT))
1613 using glm::aligned_ivec1;
1614 using glm::aligned_ivec2;
1615 using glm::aligned_ivec3;
1616 using glm::aligned_ivec4;
1617# elif(defined(GLM_PRECISION_MEDIUMP_INT))
1618 using glm::aligned_ivec1;
1619 using glm::aligned_ivec2;
1620 using glm::aligned_ivec3;
1621 using glm::aligned_ivec4;
1622# else //defined(GLM_PRECISION_HIGHP_INT)
1623 using glm::aligned_ivec1;
1624 using glm::aligned_ivec2;
1625 using glm::aligned_ivec3;
1626 using glm::aligned_ivec4;
1627 using glm::packed_ivec1;
1628 using glm::packed_ivec2;
1629 using glm::packed_ivec3;
1630 using glm::packed_ivec4;
1631# endif//GLM_PRECISION
1632# if(defined(GLM_PRECISION_LOWP_UINT))
1633 using glm::aligned_uvec1;
1634 using glm::aligned_uvec2;
1635 using glm::aligned_uvec3;
1636 using glm::aligned_uvec4;
1637# elif(defined(GLM_PRECISION_MEDIUMP_UINT))
1638 using glm::aligned_uvec1;
1639 using glm::aligned_uvec2;
1640 using glm::aligned_uvec3;
1641 using glm::aligned_uvec4;
1642# else //defined(GLM_PRECISION_HIGHP_UINT)
1643 using glm::aligned_uvec1;
1644 using glm::aligned_uvec2;
1645 using glm::aligned_uvec3;
1646 using glm::aligned_uvec4;
1647 using glm::packed_uvec1;
1648 using glm::packed_uvec2;
1649 using glm::packed_uvec3;
1650 using glm::packed_uvec4;
1651# endif//GLM_PRECISION
1652# if(defined(GLM_PRECISION_LOWP_BOOL))
1653 using glm::aligned_bvec1;
1654 using glm::aligned_bvec2;
1655 using glm::aligned_bvec3;
1656 using glm::aligned_bvec4;
1657# elif(defined(GLM_PRECISION_MEDIUMP_BOOL))
1658 using glm::aligned_bvec1;
1659 using glm::aligned_bvec2;
1660 using glm::aligned_bvec3;
1661 using glm::aligned_bvec4;
1662# else //defined(GLM_PRECISION_HIGHP_BOOL)
1663 using glm::aligned_bvec1;
1664 using glm::aligned_bvec2;
1665 using glm::aligned_bvec3;
1666 using glm::aligned_bvec4;
1667 using glm::packed_bvec1;
1668 using glm::packed_bvec2;
1669 using glm::packed_bvec3;
1670 using glm::packed_bvec4;
1671# endif//GLM_PRECISION
1672# endif
1673
1674
1675 using glm::abs;
1676 using glm::acos;
1677 using glm::acosh;
1678 using glm::acot;
1679 using glm::acoth;
1680 using glm::acsc;
1681 using glm::acsch;
1682 using glm::affineInverse;
1683 using glm::all;
1684 using glm::angle;
1685 using glm::angleAxis;
1686 using glm::any;
1687 using glm::asec;
1688 using glm::asech;
1689 using glm::asin;
1690 using glm::asinh;
1691 using glm::atan;
1692 using glm::atanh;
1693 using glm::axis;
1694 using glm::ballRand;
1695 using glm::bitCount;
1696 using glm::bitfieldDeinterleave;
1697 using glm::bitfieldExtract;
1698 using glm::bitfieldFillOne;
1699 using glm::bitfieldFillZero;
1700 using glm::bitfieldInsert;
1701 using glm::bitfieldInterleave;
1702 using glm::bitfieldReverse;
1703 using glm::bitfieldRotateLeft;
1704 using glm::bitfieldRotateRight;
1705 using glm::ceil;
1706 using glm::ceilMultiple;
1707 using glm::ceilPowerOfTwo;
1708 using glm::circularRand;
1709 using glm::clamp;
1710 using glm::column;
1711 using glm::conjugate;
1712 using glm::convertLinearToSRGB;
1713 using glm::convertSRGBToLinear;
1714 using glm::cos;
1715 using glm::cos_one_over_two;
1716 using glm::cosh;
1717 using glm::cot;
1718 using glm::coth;
1719 using glm::cross;
1720 using glm::csc;
1721 using glm::csch;
1722 using glm::degrees;
1723 using glm::determinant;
1724 using glm::diskRand;
1725 using glm::distance;
1726 using glm::dot;
1727 using glm::e;
1728 using glm::epsilon;
1729 using glm::epsilonEqual;
1730 using glm::epsilonNotEqual;
1731 using glm::equal;
1732 using glm::euler;
1733 using glm::eulerAngles;
1734 using glm::exp;
1735 using glm::exp2;
1736 using glm::faceforward;
1737 using glm::fclamp;
1738 using glm::findLSB;
1739 using glm::findMSB;
1740 using glm::floatBitsToInt;
1741 using glm::floatBitsToUint;
1742 using glm::float_distance;
1743 using glm::floor;
1744 using glm::floorMultiple;
1745 using glm::floorPowerOfTwo;
1746 using glm::fma;
1747 using glm::fmax;
1748 using glm::fmin;
1749 using glm::four_over_pi;
1750 using glm::fract;
1751 using glm::frexp;
1752 using glm::frustum;
1753 using glm::frustumLH;
1754 using glm::frustumLH_NO;
1755 using glm::frustumLH_ZO;
1756 using glm::frustumNO;
1757 using glm::frustumRH;
1758 using glm::frustumRH_NO;
1759 using glm::frustumRH_ZO;
1760 using glm::frustumZO;
1761 using glm::gaussRand;
1762 using glm::golden_ratio;
1763 using glm::greaterThan;
1764 using glm::greaterThanEqual;
1765 using glm::half_pi;
1766 using glm::identity;
1767 using glm::imulExtended;
1768 using glm::infinitePerspective;
1769 using glm::infinitePerspectiveLH;
1770 using glm::infinitePerspectiveRH;
1771 using glm::intBitsToFloat;
1772 using glm::inverse;
1773 using glm::inverseTranspose;
1774 using glm::inversesqrt;
1775 using glm::iround;
1776 using glm::isinf;
1777 using glm::isnan;
1778 using glm::ldexp;
1779 using glm::length;
1780 using glm::lerp;
1781 using glm::lessThan;
1782 using glm::lessThanEqual;
1783 using glm::linearRand;
1784 using glm::ln_ln_two;
1785 using glm::ln_ten;
1786 using glm::ln_two;
1787 using glm::log;
1788 using glm::log2;
1789 using glm::lookAt;
1790 using glm::lookAtLH;
1791 using glm::lookAtRH;
1792 using glm::make_mat2;
1793 using glm::make_mat2x2;
1794 using glm::make_mat2x3;
1795 using glm::make_mat2x4;
1796 using glm::make_mat3;
1797 using glm::make_mat3x2;
1798 using glm::make_mat3x3;
1799 using glm::make_mat3x4;
1800 using glm::make_mat4;
1801 using glm::make_mat4x2;
1802 using glm::make_mat4x3;
1803 using glm::make_mat4x4;
1804 using glm::make_quat;
1805 using glm::make_vec1;
1806 using glm::make_vec2;
1807 using glm::make_vec3;
1808 using glm::make_vec4;
1809 using glm::mask;
1810 using glm::mat3_cast;
1811 using glm::mat4_cast;
1812 using glm::matrixCompMult;
1813 using glm::max;
1814 using glm::min;
1815 using glm::mirrorClamp;
1816 using glm::mirrorRepeat;
1817 using glm::mix;
1818 using glm::mod;
1819 using glm::modf;
1820 using glm::next_float;
1821 using glm::normalize;
1822 using glm::notEqual;
1823 using glm::not_;
1824 using glm::one;
1825 using glm::one_over_pi;
1826 using glm::one_over_root_two;
1827 using glm::one_over_two_pi;
1828 using glm::ortho;
1829 using glm::orthoLH;
1830 using glm::orthoLH_NO;
1831 using glm::orthoLH_ZO;
1832 using glm::orthoNO;
1833 using glm::orthoRH;
1834 using glm::orthoRH_NO;
1835 using glm::orthoRH_ZO;
1836 using glm::orthoZO;
1837 using glm::outerProduct;
1838 using glm::packF2x11_1x10;
1839 using glm::packF3x9_E1x5;
1840 using glm::packHalf;
1841 using glm::packHalf1x16;
1842 using glm::packHalf4x16;
1843 using glm::packI3x10_1x2;
1844 using glm::packInt2x16;
1845 using glm::packInt2x32;
1846 using glm::packInt2x8;
1847 using glm::packInt4x16;
1848 using glm::packInt4x8;
1849 using glm::packRGBM;
1850 using glm::packSnorm;
1851 using glm::packSnorm1x16;
1852 using glm::packSnorm1x8;
1853 using glm::packSnorm2x8;
1854 using glm::packSnorm3x10_1x2;
1855 using glm::packSnorm4x16;
1856 using glm::packU3x10_1x2;
1857 using glm::packUint2x16;
1858 using glm::packUint2x32;
1859 using glm::packUint2x8;
1860 using glm::packUint4x16;
1861 using glm::packUint4x8;
1862 using glm::packUnorm;
1863 using glm::packUnorm1x16;
1864 using glm::packUnorm1x5_1x6_1x5;
1865 using glm::packUnorm1x8;
1866 using glm::packUnorm2x3_1x2;
1867 using glm::packUnorm2x4;
1868 using glm::packUnorm2x8;
1869 using glm::packUnorm3x10_1x2;
1870 using glm::packUnorm3x5_1x1;
1871 using glm::packUnorm4x16;
1872 using glm::packUnorm4x4;
1873 using glm::perlin;
1874 using glm::perspective;
1875 using glm::perspectiveFov;
1876 using glm::perspectiveFovLH;
1877 using glm::perspectiveFovLH_NO;
1878 using glm::perspectiveFovLH_ZO;
1879 using glm::perspectiveFovNO;
1880 using glm::perspectiveFovRH;
1881 using glm::perspectiveFovRH_NO;
1882 using glm::perspectiveFovRH_ZO;
1883 using glm::perspectiveFovZO;
1884 using glm::perspectiveLH;
1885 using glm::perspectiveLH_NO;
1886 using glm::perspectiveLH_ZO;
1887 using glm::perspectiveNO;
1888 using glm::perspectiveRH;
1889 using glm::perspectiveRH_NO;
1890 using glm::perspectiveRH_ZO;
1891 using glm::perspectiveZO;
1892 using glm::pi;
1893 using glm::pickMatrix;
1894 using glm::pitch;
1895 using glm::pow;
1896 using glm::prev_float;
1897 using glm::project;
1898 using glm::projectNO;
1899 using glm::projectZO;
1900 using glm::quarter_pi;
1901 using glm::quatLookAt;
1902 using glm::quatLookAtLH;
1903 using glm::quatLookAtRH;
1904 using glm::quat_cast;
1905 using glm::radians;
1906 using glm::reflect;
1907 using glm::refract;
1908 using glm::repeat;
1909 using glm::roll;
1910 using glm::root_five;
1911 using glm::root_half_pi;
1912 using glm::root_ln_four;
1913 using glm::root_pi;
1914 using glm::root_three;
1915 using glm::root_two;
1916 using glm::root_two_pi;
1917 using glm::rotate;
1918 using glm::round;
1919 using glm::roundEven;
1920 using glm::roundMultiple;
1921 using glm::roundPowerOfTwo;
1922 using glm::row;
1923 using glm::scale;
1924 using glm::sec;
1925 using glm::sech;
1926 using glm::sign;
1927 using glm::simplex;
1928 using glm::sin;
1929 using glm::sinh;
1930 using glm::slerp;
1931 using glm::smoothstep;
1932 using glm::sphericalRand;
1933 using glm::sqrt;
1934 using glm::step;
1935 using glm::tan;
1936 using glm::tanh;
1937 using glm::third;
1938 using glm::three_over_two_pi;
1939 using glm::translate;
1940 using glm::transpose;
1941 using glm::trunc;
1942 using glm::tweakedInfinitePerspective;
1943 using glm::two_over_pi;
1944 using glm::two_over_root_pi;
1945 using glm::two_pi;
1946 using glm::two_thirds;
1947 using glm::uaddCarry;
1948 using glm::uintBitsToFloat;
1949 using glm::umulExtended;
1950 using glm::unProject;
1951 using glm::unProjectNO;
1952 using glm::unProjectZO;
1953 using glm::unpackF2x11_1x10;
1954 using glm::unpackF3x9_E1x5;
1955 using glm::unpackHalf;
1956 using glm::unpackHalf1x16;
1957 using glm::unpackHalf4x16;
1958 using glm::unpackI3x10_1x2;
1959 using glm::unpackInt2x16;
1960 using glm::unpackInt2x32;
1961 using glm::unpackInt2x8;
1962 using glm::unpackInt4x16;
1963 using glm::unpackInt4x8;
1964 using glm::unpackRGBM;
1965 using glm::unpackSnorm;
1966 using glm::unpackSnorm1x16;
1967 using glm::unpackSnorm1x8;
1968 using glm::unpackSnorm2x8;
1969 using glm::unpackSnorm3x10_1x2;
1970 using glm::unpackSnorm4x16;
1971 using glm::unpackU3x10_1x2;
1972 using glm::unpackUint2x16;
1973 using glm::unpackUint2x32;
1974 using glm::unpackUint2x8;
1975 using glm::unpackUint4x16;
1976 using glm::unpackUint4x8;
1977 using glm::unpackUnorm;
1978 using glm::unpackUnorm1x16;
1979 using glm::unpackUnorm1x5_1x6_1x5;
1980 using glm::unpackUnorm1x8;
1981 using glm::unpackUnorm2x3_1x2;
1982 using glm::unpackUnorm2x4;
1983 using glm::unpackUnorm2x8;
1984 using glm::unpackUnorm3x10_1x2;
1985 using glm::unpackUnorm3x5_1x1;
1986 using glm::unpackUnorm4x16;
1987 using glm::unpackUnorm4x4;
1988 using glm::uround;
1989 using glm::usubBorrow;
1990 using glm::value_ptr;
1991 using glm::yaw;
1992 using glm::zero;
1993 }
1994
1995# ifdef GLM_EXT_INLINE_NAMESPACE
1996 inline
1997# endif
1998 namespace ext {
1999 using glm::abs;
2000 using glm::acos;
2001 using glm::acosh;
2002 using glm::acot;
2003 using glm::acoth;
2004 using glm::acsc;
2005 using glm::acsch;
2006 using glm::all;
2007 using glm::angle;
2008 using glm::angleAxis;
2009 using glm::any;
2010 using glm::asec;
2011 using glm::asech;
2012 using glm::asin;
2013 using glm::asinh;
2014 using glm::atan;
2015 using glm::atanh;
2016 using glm::axis;
2017 using glm::ceil;
2018 using glm::clamp;
2019 using glm::conjugate;
2020 using glm::cos;
2021 using glm::cos_one_over_two;
2022 using glm::cosh;
2023 using glm::cot;
2024 using glm::coth;
2025 using glm::cross;
2026 using glm::csc;
2027 using glm::csch;
2028 using glm::degrees;
2029 using glm::determinant;
2030 using glm::distance;
2031 using glm::dot;
2032 using glm::e;
2033 using glm::epsilon;
2034 using glm::equal;
2035 using glm::euler;
2036 using glm::exp;
2037 using glm::exp2;
2038 using glm::faceforward;
2039 using glm::fclamp;
2040 using glm::findNSB;
2041 using glm::floatBitsToInt;
2042 using glm::floatBitsToUint;
2043 using glm::floatDistance;
2044 using glm::floor;
2045 using glm::fma;
2046 using glm::fmax;
2047 using glm::fmin;
2048 using glm::four_over_pi;
2049 using glm::fract;
2050 using glm::frexp;
2051 using glm::frustum;
2052 using glm::frustumLH;
2053 using glm::frustumLH_NO;
2054 using glm::frustumLH_ZO;
2055 using glm::frustumNO;
2056 using glm::frustumRH;
2057 using glm::frustumRH_NO;
2058 using glm::frustumRH_ZO;
2059 using glm::frustumZO;
2060 using glm::golden_ratio;
2061 using glm::greaterThan;
2062 using glm::greaterThanEqual;
2063 using glm::half_pi;
2064 using glm::identity;
2065 using glm::infinitePerspective;
2066 using glm::infinitePerspectiveLH;
2067 using glm::infinitePerspectiveRH;
2068 using glm::intBitsToFloat;
2069 using glm::inverse;
2070 using glm::inversesqrt;
2071 using glm::iround;
2072 using glm::isMultiple;
2073 using glm::isPowerOfTwo;
2074 using glm::isinf;
2075 using glm::isnan;
2076 using glm::ldexp;
2077 using glm::length;
2078 using glm::lerp;
2079 using glm::lessThan;
2080 using glm::lessThanEqual;
2081 using glm::ln_ln_two;
2082 using glm::ln_ten;
2083 using glm::ln_two;
2084 using glm::log;
2085 using glm::log2;
2086 using glm::lookAt;
2087 using glm::lookAtLH;
2088 using glm::lookAtRH;
2089 using glm::matrixCompMult;
2090 using glm::max;
2091 using glm::min;
2092 using glm::mirrorClamp;
2093 using glm::mirrorRepeat;
2094 using glm::mix;
2095 using glm::mod;
2096 using glm::modf;
2097 using glm::nextFloat;
2098 using glm::nextMultiple;
2099 using glm::nextPowerOfTwo;
2100 using glm::normalize;
2101 using glm::notEqual;
2102 using glm::not_;
2103 using glm::one;
2104 using glm::one_over_pi;
2105 using glm::one_over_root_two;
2106 using glm::one_over_two_pi;
2107 using glm::ortho;
2108 using glm::orthoLH;
2109 using glm::orthoLH_NO;
2110 using glm::orthoLH_ZO;
2111 using glm::orthoNO;
2112 using glm::orthoRH;
2113 using glm::orthoRH_NO;
2114 using glm::orthoRH_ZO;
2115 using glm::orthoZO;
2116 using glm::outerProduct;
2117 using glm::perspective;
2118 using glm::perspectiveFov;
2119 using glm::perspectiveFovLH;
2120 using glm::perspectiveFovLH_NO;
2121 using glm::perspectiveFovLH_ZO;
2122 using glm::perspectiveFovNO;
2123 using glm::perspectiveFovRH;
2124 using glm::perspectiveFovRH_NO;
2125 using glm::perspectiveFovRH_ZO;
2126 using glm::perspectiveFovZO;
2127 using glm::perspectiveLH;
2128 using glm::perspectiveLH_NO;
2129 using glm::perspectiveLH_ZO;
2130 using glm::perspectiveNO;
2131 using glm::perspectiveRH;
2132 using glm::perspectiveRH_NO;
2133 using glm::perspectiveRH_ZO;
2134 using glm::perspectiveZO;
2135 using glm::pi;
2136 using glm::pickMatrix;
2137 using glm::pow;
2138 using glm::prevFloat;
2139 using glm::prevMultiple;
2140 using glm::prevPowerOfTwo;
2141 using glm::project;
2142 using glm::projectNO;
2143 using glm::projectZO;
2144 using glm::quarter_pi;
2145 using glm::radians;
2146 using glm::reflect;
2147 using glm::refract;
2148 using glm::repeat;
2149 using glm::root_five;
2150 using glm::root_half_pi;
2151 using glm::root_ln_four;
2152 using glm::root_pi;
2153 using glm::root_three;
2154 using glm::root_two;
2155 using glm::root_two_pi;
2156 using glm::rotate;
2157 using glm::round;
2158 using glm::roundEven;
2159 using glm::scale;
2160 using glm::sec;
2161 using glm::sech;
2162 using glm::sign;
2163 using glm::sin;
2164 using glm::sinh;
2165 using glm::slerp;
2166 using glm::smoothstep;
2167 using glm::sqrt;
2168 using glm::step;
2169 using glm::tan;
2170 using glm::tanh;
2171 using glm::third;
2172 using glm::three_over_two_pi;
2173 using glm::translate;
2174 using glm::transpose;
2175 using glm::trunc;
2176 using glm::tweakedInfinitePerspective;
2177 using glm::two_over_pi;
2178 using glm::two_over_root_pi;
2179 using glm::two_pi;
2180 using glm::two_thirds;
2181 using glm::uintBitsToFloat;
2182 using glm::unProject;
2183 using glm::unProjectNO;
2184 using glm::unProjectZO;
2185 using glm::uround;
2186 using glm::zero;
2187 }
2188
2189# ifdef GLM_ENABLE_EXPERIMENTAL
2190# ifdef GLM_GTX_INLINE_NAMESPACE
2191 inline
2192# endif
2193 namespace gtx {
2194 using glm::io::order_type;
2195 using glm::io::format_punct;
2196 using glm::io::basic_state_saver;
2197 using glm::io::basic_format_saver;
2198 using glm::io::precision;
2199 using glm::io::width;
2200 using glm::io::delimeter;
2201 using glm::io::order;
2202 using glm::io::get_facet;
2203 using glm::io::formatted;
2204 using glm::io::unformatted;
2205 using glm::io::operator<<;
2206 using glm::operator<<;
2207 using glm::tdualquat;
2208
2209# if !((GLM_COMPILER & GLM_COMPILER_CUDA) || (GLM_COMPILER & GLM_COMPILER_HIP))
2210 using glm::to_string;
2211# endif
2212 using glm::operator*;
2213 using glm::operator/;
2214 using glm::components;
2215 using glm::begin;
2216 using glm::end;
2217
2218 using glm::abs;
2219 using glm::acos;
2220 using glm::acosh;
2221 using glm::adjugate;
2222 using glm::all;
2223 using glm::angle;
2224 using glm::angleAxis;
2225 using glm::any;
2226 using glm::areCollinear;
2227 using glm::areOrthogonal;
2228 using glm::areOrthonormal;
2229 using glm::asin;
2230 using glm::asinh;
2231 using glm::associatedMax;
2232 using glm::associatedMin;
2233 using glm::atan;
2234 using glm::atanh;
2235 using glm::axis;
2236 using glm::axisAngle;
2237 using glm::axisAngleMatrix;
2238 using glm::backEaseIn;
2239 using glm::backEaseInOut;
2240 using glm::backEaseOut;
2241 using glm::bitCount;
2242 using glm::bitfieldDeinterleave;
2243 using glm::bitfieldExtract;
2244 using glm::bitfieldFillOne;
2245 using glm::bitfieldFillZero;
2246 using glm::bitfieldInsert;
2247 using glm::bitfieldInterleave;
2248 using glm::bitfieldReverse;
2249 using glm::bitfieldRotateLeft;
2250 using glm::bitfieldRotateRight;
2251 using glm::bounceEaseIn;
2252 using glm::bounceEaseInOut;
2253 using glm::bounceEaseOut;
2254 using glm::catmullRom;
2255 using glm::ceil;
2256 using glm::circularEaseIn;
2257 using glm::circularEaseInOut;
2258 using glm::circularEaseOut;
2259 using glm::clamp;
2260 using glm::closeBounded;
2261 using glm::closestPointOnLine;
2262 using glm::colMajor2;
2263 using glm::colMajor3;
2264 using glm::colMajor4;
2265 using glm::compAdd;
2266 using glm::compMax;
2267 using glm::compMin;
2268 using glm::compMul;
2269 using glm::compNormalize;
2270 using glm::compScale;
2271 using glm::computeCovarianceMatrix;
2272 using glm::conjugate;
2273 using glm::convertD65XYZToD50XYZ;
2274 using glm::convertD65XYZToLinearSRGB;
2275 using glm::convertLinearSRGBToD50XYZ;
2276 using glm::convertLinearSRGBToD65XYZ;
2277 using glm::cos;
2278 using glm::cos_one_over_two;
2279 using glm::cosh;
2280 using glm::cross;
2281 using glm::cubic;
2282 using glm::cubicEaseIn;
2283 using glm::cubicEaseInOut;
2284 using glm::cubicEaseOut;
2285 using glm::decompose;
2286 using glm::degrees;
2287 using glm::derivedEulerAngleX;
2288 using glm::derivedEulerAngleY;
2289 using glm::derivedEulerAngleZ;
2290 using glm::determinant;
2291 using glm::diagonal2x2;
2292 using glm::diagonal2x3;
2293 using glm::diagonal2x4;
2294 using glm::diagonal3x2;
2295 using glm::diagonal3x3;
2296 using glm::diagonal3x4;
2297 using glm::diagonal4x2;
2298 using glm::diagonal4x3;
2299 using glm::diagonal4x4;
2300 using glm::distance;
2301 using glm::distance2;
2302 using glm::dot;
2303 using glm::dual_quat_identity;
2304 using glm::dualquat_cast;
2305 using glm::e;
2306 using glm::elasticEaseIn;
2307 using glm::elasticEaseInOut;
2308 using glm::elasticEaseOut;
2309 using glm::epsilon;
2310 using glm::epsilonEqual;
2311 using glm::epsilonNotEqual;
2312 using glm::equal;
2313 using glm::euclidean;
2314 using glm::euler;
2315 using glm::eulerAngleX;
2316 using glm::eulerAngleXY;
2317 using glm::eulerAngleXYX;
2318 using glm::eulerAngleXYZ;
2319 using glm::eulerAngleXZ;
2320 using glm::eulerAngleXZX;
2321 using glm::eulerAngleXZY;
2322 using glm::eulerAngleY;
2323 using glm::eulerAngleYX;
2324 using glm::eulerAngleYXY;
2325 using glm::eulerAngleYXZ;
2326 using glm::eulerAngleYZ;
2327 using glm::eulerAngleYZX;
2328 using glm::eulerAngleYZY;
2329 using glm::eulerAngleZ;
2330 using glm::eulerAngleZX;
2331 using glm::eulerAngleZXY;
2332 using glm::eulerAngleZXZ;
2333 using glm::eulerAngleZY;
2334 using glm::eulerAngleZYX;
2335 using glm::eulerAngleZYZ;
2336 using glm::eulerAngles;
2337 using glm::exp;
2338 using glm::exp2;
2339 using glm::exponentialEaseIn;
2340 using glm::exponentialEaseInOut;
2341 using glm::exponentialEaseOut;
2342 using glm::extend;
2343 using glm::extractEulerAngleXYX;
2344 using glm::extractEulerAngleXYZ;
2345 using glm::extractEulerAngleXZX;
2346 using glm::extractEulerAngleXZY;
2347 using glm::extractEulerAngleYXY;
2348 using glm::extractEulerAngleYXZ;
2349 using glm::extractEulerAngleYZX;
2350 using glm::extractEulerAngleYZY;
2351 using glm::extractEulerAngleZXY;
2352 using glm::extractEulerAngleZXZ;
2353 using glm::extractEulerAngleZYX;
2354 using glm::extractEulerAngleZYZ;
2355 using glm::extractMatrixRotation;
2356 using glm::extractRealComponent;
2357 using glm::faceforward;
2358 using glm::factorial;
2359 using glm::fastAcos;
2360 using glm::fastAsin;
2361 using glm::fastAtan;
2362 using glm::fastCos;
2363 using glm::fastDistance;
2364 using glm::fastExp;
2365 using glm::fastExp2;
2366 using glm::fastInverseSqrt;
2367 using glm::fastLength;
2368 using glm::fastLog;
2369 using glm::fastLog2;
2370 using glm::fastMix;
2371 using glm::fastNormalize;
2372 using glm::fastNormalizeDot;
2373 using glm::fastPow;
2374 using glm::fastSin;
2375 using glm::fastSqrt;
2376 using glm::fastTan;
2377 using glm::fclamp;
2378 using glm::findLSB;
2379 using glm::findMSB;
2380 using glm::fliplr;
2381 using glm::flipud;
2382 using glm::floatBitsToInt;
2383 using glm::floatBitsToUint;
2384 using glm::floor;
2385 using glm::floor_log2;
2386 using glm::fma;
2387 using glm::fmax;
2388 using glm::fmin;
2389 using glm::fmod;
2390 using glm::four_over_pi;
2391 using glm::fract;
2392 using glm::frexp;
2393 using glm::frustum;
2394 using glm::frustumLH;
2395 using glm::frustumLH_NO;
2396 using glm::frustumLH_ZO;
2397 using glm::frustumNO;
2398 using glm::frustumRH;
2399 using glm::frustumRH_NO;
2400 using glm::frustumRH_ZO;
2401 using glm::frustumZO;
2402 using glm::gauss;
2403 using glm::golden_ratio;
2404 using glm::greaterThan;
2405 using glm::greaterThanEqual;
2406 using glm::half_pi;
2407 using glm::hermite;
2408 using glm::highestBitValue;
2409 using glm::hsvColor;
2410 using glm::identity;
2411 using glm::imulExtended;
2412 using glm::infinitePerspective;
2413 using glm::infinitePerspectiveLH;
2414 using glm::infinitePerspectiveRH;
2415 using glm::intBitsToFloat;
2416 using glm::intermediate;
2417 using glm::interpolate;
2418 using glm::intersectLineSphere;
2419 using glm::intersectLineTriangle;
2420 using glm::intersectRayPlane;
2421 using glm::intersectRaySphere;
2422 using glm::intersectRayTriangle;
2423 using glm::inverse;
2424 using glm::inversesqrt;
2425 using glm::iround;
2426 using glm::isCompNull;
2427 using glm::isIdentity;
2428 using glm::isNormalized;
2429 using glm::isNull;
2430 using glm::isOrthogonal;
2431 using glm::isdenormal;
2432 using glm::isfinite;
2433 using glm::isinf;
2434 using glm::isnan;
2435 using glm::l1Norm;
2436 using glm::l2Norm;
2437 using glm::lMaxNorm;
2438 using glm::ldexp;
2439 using glm::leftHanded;
2440 using glm::length;
2441 using glm::length2;
2442 using glm::lerp;
2443 using glm::lessThan;
2444 using glm::lessThanEqual;
2445 using glm::linearGradient;
2446 using glm::linearInterpolation;
2447 using glm::ln_ln_two;
2448 using glm::ln_ten;
2449 using glm::ln_two;
2450 using glm::log;
2451 using glm::log2;
2452 using glm::lookAt;
2453 using glm::lookAtLH;
2454 using glm::lookAtRH;
2455 using glm::lowestBitValue;
2456 using glm::luminosity;
2457 using glm::lxNorm;
2458 using glm::make_mat2;
2459 using glm::make_mat2x2;
2460 using glm::make_mat2x3;
2461 using glm::make_mat2x4;
2462 using glm::make_mat3;
2463 using glm::make_mat3x2;
2464 using glm::make_mat3x3;
2465 using glm::make_mat3x4;
2466 using glm::make_mat4;
2467 using glm::make_mat4x2;
2468 using glm::make_mat4x3;
2469 using glm::make_mat4x4;
2470 using glm::make_quat;
2471 using glm::make_vec1;
2472 using glm::make_vec2;
2473 using glm::make_vec3;
2474 using glm::make_vec4;
2475 using glm::mask;
2476 using glm::mat2x4_cast;
2477 using glm::mat3_cast;
2478 using glm::mat3x4_cast;
2479 using glm::mat4_cast;
2480 using glm::matrixCompMult;
2481 using glm::matrixCross3;
2482 using glm::matrixCross4;
2483 using glm::max;
2484 using glm::min;
2485 using glm::mirrorClamp;
2486 using glm::mirrorRepeat;
2487 using glm::mix;
2488 using glm::mixedProduct;
2489 using glm::mod;
2490 using glm::modf;
2491 using glm::nlz;
2492 using glm::normalize;
2493 using glm::normalizeDot;
2494 using glm::notEqual;
2495 using glm::not_;
2496 using glm::YCoCg2rgb;
2497 using glm::YCoCgR2rgb;
2498 using glm::one;
2499 using glm::one_over_pi;
2500 using glm::one_over_root_two;
2501 using glm::one_over_two_pi;
2502 using glm::openBounded;
2503 using glm::orientate2;
2504 using glm::orientate3;
2505 using glm::orientate4;
2506 using glm::orientation;
2507 using glm::orientedAngle;
2508 using glm::ortho;
2509 using glm::orthoLH;
2510 using glm::orthoLH_NO;
2511 using glm::orthoLH_ZO;
2512 using glm::orthoNO;
2513 using glm::orthoRH;
2514 using glm::orthoRH_NO;
2515 using glm::orthoRH_ZO;
2516 using glm::orthoZO;
2517 using glm::orthonormalize;
2518 using glm::outerProduct;
2519 using glm::packDouble2x32;
2520 using glm::packHalf2x16;
2521 using glm::packSnorm2x16;
2522 using glm::packSnorm4x8;
2523 using glm::packUnorm2x16;
2524 using glm::packUnorm4x8;
2525 using glm::perp;
2526 using glm::perspective;
2527 using glm::perspectiveFov;
2528 using glm::perspectiveFovLH;
2529 using glm::perspectiveFovLH_NO;
2530 using glm::perspectiveFovLH_ZO;
2531 using glm::perspectiveFovNO;
2532 using glm::perspectiveFovRH;
2533 using glm::perspectiveFovRH_NO;
2534 using glm::perspectiveFovRH_ZO;
2535 using glm::perspectiveFovZO;
2536 using glm::perspectiveLH;
2537 using glm::perspectiveLH_NO;
2538 using glm::perspectiveLH_ZO;
2539 using glm::perspectiveNO;
2540 using glm::perspectiveRH;
2541 using glm::perspectiveRH_NO;
2542 using glm::perspectiveRH_ZO;
2543 using glm::perspectiveZO;
2544 using glm::pi;
2545 using glm::pickMatrix;
2546 using glm::pitch;
2547 using glm::polar;
2548 using glm::pow;
2549 using glm::pow2;
2550 using glm::pow3;
2551 using glm::pow4;
2552 using glm::powerOfTwoAbove;
2553 using glm::powerOfTwoBelow;
2554 using glm::powerOfTwoNearest;
2555 using glm::proj;
2556 using glm::proj2D;
2557 using glm::proj3D;
2558 using glm::project;
2559 using glm::projectNO;
2560 using glm::projectZO;
2561 using glm::qr_decompose;
2562 using glm::quadraticEaseIn;
2563 using glm::quadraticEaseInOut;
2564 using glm::quadraticEaseOut;
2565 using glm::quarter_pi;
2566 using glm::quarticEaseIn;
2567 using glm::quarticEaseInOut;
2568 using glm::quarticEaseOut;
2569 using glm::quatLookAt;
2570 using glm::quatLookAtLH;
2571 using glm::quatLookAtRH;
2572 using glm::quat_cast;
2573 using glm::quat_identity;
2574 using glm::quinticEaseIn;
2575 using glm::quinticEaseInOut;
2576 using glm::quinticEaseOut;
2577 using glm::radialGradient;
2578 using glm::radians;
2579 using glm::recompose;
2580 using glm::reflect;
2581 using glm::refract;
2582 using glm::repeat;
2583 using glm::rgb2YCoCg;
2584 using glm::rgb2YCoCgR;
2585 using glm::rgbColor;
2586 using glm::rightHanded;
2587 using glm::roll;
2588 using glm::root_five;
2589 using glm::root_half_pi;
2590 using glm::root_ln_four;
2591 using glm::root_pi;
2592 using glm::root_three;
2593 using glm::root_two;
2594 using glm::root_two_pi;
2595 using glm::rotate;
2596 using glm::rotateNormalizedAxis;
2597 using glm::rotateX;
2598 using glm::rotateY;
2599 using glm::rotateZ;
2600 using glm::rotation;
2601 using glm::round;
2602 using glm::roundEven;
2603 using glm::rowMajor2;
2604 using glm::rowMajor3;
2605 using glm::rowMajor4;
2606 using glm::rq_decompose;
2607 using glm::saturation;
2608 using glm::scale;
2609 using glm::scaleBias;
2610 using glm::shearX2D;
2611 using glm::shearX3D;
2612 using glm::shearY2D;
2613 using glm::shearY3D;
2614 using glm::shearZ3D;
2615 using glm::shortMix;
2616 using glm::sign;
2617 using glm::sin;
2618 using glm::sineEaseIn;
2619 using glm::sineEaseInOut;
2620 using glm::sineEaseOut;
2621 using glm::sinh;
2622 using glm::slerp;
2623 using glm::smoothstep;
2624 using glm::sortEigenvalues;
2625 using glm::sqrt;
2626 using glm::squad;
2627 using glm::step;
2628 using glm::tan;
2629 using glm::tanh;
2630 using glm::third;
2631 using glm::three_over_two_pi;
2632 using glm::toMat3;
2633 using glm::toMat4;
2634 using glm::toQuat;
2635 using glm::translate;
2636 using glm::transpose;
2637 using glm::triangleNormal;
2638 using glm::trunc;
2639 using glm::tweakedInfinitePerspective;
2640 using glm::two_over_pi;
2641 using glm::two_over_root_pi;
2642 using glm::two_pi;
2643 using glm::two_thirds;
2644 using glm::uaddCarry;
2645 using glm::uintBitsToFloat;
2646 using glm::umulExtended;
2647 using glm::unProject;
2648 using glm::unProjectNO;
2649 using glm::unProjectZO;
2650 using glm::unpackDouble2x32;
2651 using glm::unpackHalf2x16;
2652 using glm::unpackSnorm2x16;
2653 using glm::unpackSnorm4x8;
2654 using glm::unpackUnorm2x16;
2655 using glm::unpackUnorm4x8;
2656 using glm::uround;
2657 using glm::usubBorrow;
2658 using glm::value_ptr;
2659 using glm::wrapAngle;
2660 using glm::wxyz;
2661 using glm::yaw;
2662 using glm::yawPitchRoll;
2663 using glm::zero;
2664 }
2665# endif
2666}
2667
2668#if defined(_MSC_VER) // Workaround
2669// Partial template specialization doesn't need to be exported explicitly, but this may not work otherwise on MSVC.
2670export namespace std {
2671 using std::hash; // See GLM_GTX_hash
2672}
2673#endif