master
ブランチ master
VulkanExample / dep / include / glm / gtx / compatibility.inl
1.1 KB、56行 生 Blame 履歴
1#include <limits>
2
3namespace glm
4{
5 // isfinite
6 template<typename genType>
7 GLM_FUNC_QUALIFIER bool isfinite(genType const& x)
8 {
9 return std::isfinite(x) != 0;
10 }
11
12 template<typename T, qualifier Q>
13 GLM_FUNC_QUALIFIER vec<1, bool, Q> isfinite(vec<1, T, Q> const& x)
14 {
15 return vec<1, bool, Q>(
16 isfinite(x.x));
17 }
18
19 template<typename T, qualifier Q>
20 GLM_FUNC_QUALIFIER vec<2, bool, Q> isfinite(vec<2, T, Q> const& x)
21 {
22 return vec<2, bool, Q>(
23 isfinite(x.x),
24 isfinite(x.y));
25 }
26
27 template<typename T, qualifier Q>
28 GLM_FUNC_QUALIFIER vec<3, bool, Q> isfinite(vec<3, T, Q> const& x)
29 {
30 return vec<3, bool, Q>(
31 isfinite(x.x),
32 isfinite(x.y),
33 isfinite(x.z));
34 }
35
36 template<typename T, qualifier Q>
37 GLM_FUNC_QUALIFIER vec<4, bool, Q> isfinite(vec<4, T, Q> const& x)
38 {
39 return vec<4, bool, Q>(
40 isfinite(x.x),
41 isfinite(x.y),
42 isfinite(x.z),
43 isfinite(x.w));
44 }
45
46 template<typename T, qualifier Q>
47 GLM_FUNC_QUALIFIER vec<4, bool, Q> isfinite(qua<T, Q> const& x)
48 {
49 return vec<4, bool, Q>(
50 isfinite(x.x),
51 isfinite(x.y),
52 isfinite(x.z),
53 isfinite(x.w));
54 }
55
56}//namespace glm