Clutter Engine
0.0.1
Loading...
Searching...
No Matches
ClutterEngineOpenGL
ClutterEngine
Libraries
include
glm
gtx
compatibility.inl
1
#include <limits>
2
3
namespace
glm
4
{
5
// isfinite
6
template
<
typename
genType>
7
GLM_FUNC_QUALIFIER
bool
isfinite
(
8
genType
const
& x)
9
{
10
# if GLM_HAS_CXX11_STL
11
return
std::isfinite(x) != 0;
12
# elif GLM_COMPILER & GLM_COMPILER_VC
13
return
_finite(x) != 0;
14
# elif GLM_COMPILER & GLM_COMPILER_GCC && GLM_PLATFORM & GLM_PLATFORM_ANDROID
15
return
_isfinite(x) != 0;
16
# else
17
if
(std::numeric_limits<genType>::is_integer || std::denorm_absent == std::numeric_limits<genType>::has_denorm)
18
return
std::numeric_limits<genType>::min() <= x && std::numeric_limits<genType>::max() >= x;
19
else
20
return
-std::numeric_limits<genType>::max() <= x && std::numeric_limits<genType>::max() >= x;
21
# endif
22
}
23
24
template
<
typename
T, qualifier Q>
25
GLM_FUNC_QUALIFIER
vec<1, bool, Q>
isfinite
(
26
vec<1, T, Q>
const
& x)
27
{
28
return
vec<1, bool, Q>
(
29
isfinite
(x.x));
30
}
31
32
template
<
typename
T, qualifier Q>
33
GLM_FUNC_QUALIFIER
vec<2, bool, Q>
isfinite
(
34
vec<2, T, Q>
const
& x)
35
{
36
return
vec<2, bool, Q>
(
37
isfinite
(x.x),
38
isfinite
(x.y));
39
}
40
41
template
<
typename
T, qualifier Q>
42
GLM_FUNC_QUALIFIER
vec<3, bool, Q>
isfinite
(
43
vec<3, T, Q>
const
& x)
44
{
45
return
vec<3, bool, Q>
(
46
isfinite
(x.x),
47
isfinite
(x.y),
48
isfinite
(x.z));
49
}
50
51
template
<
typename
T, qualifier Q>
52
GLM_FUNC_QUALIFIER
vec<4, bool, Q>
isfinite
(
53
vec<4, T, Q>
const
& x)
54
{
55
return
vec<4, bool, Q>
(
56
isfinite
(x.x),
57
isfinite
(x.y),
58
isfinite
(x.z),
59
isfinite
(x.w));
60
}
61
62
}
//namespace glm
glm::isfinite
GLM_FUNC_DECL bool isfinite(genType const &x)
Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility)
Definition
compatibility.inl:7
glm
Core features
Definition
common.hpp:21
glm::vec
Definition
qualifier.hpp:35
Generated by
1.12.0