mirror of
https://github.com/g-truc/glm.git
synced 2024-11-26 10:14:35 +00:00
Initial work on more constexpr support in GLM
This commit is contained in:
parent
ce644e01bb
commit
50bd4b0711
@ -406,7 +406,7 @@ namespace glm
|
|||||||
// -- Boolean operators --
|
// -- Boolean operators --
|
||||||
|
|
||||||
template<typename T, qualifier Q>
|
template<typename T, qualifier Q>
|
||||||
GLM_FUNC_DECL bool operator==(vec<3, T, Q> const& v1, vec<3, T, Q> const& v2);
|
GLM_FUNC_DECL GLM_CONSTEXPR_CXX11 bool operator==(vec<3, T, Q> const& v1, vec<3, T, Q> const& v2);
|
||||||
|
|
||||||
template<typename T, qualifier Q>
|
template<typename T, qualifier Q>
|
||||||
GLM_FUNC_DECL bool operator!=(vec<3, T, Q> const& v1, vec<3, T, Q> const& v2);
|
GLM_FUNC_DECL bool operator!=(vec<3, T, Q> const& v1, vec<3, T, Q> const& v2);
|
||||||
|
@ -1021,12 +1021,15 @@ namespace glm
|
|||||||
// -- Boolean operators --
|
// -- Boolean operators --
|
||||||
|
|
||||||
template<typename T, qualifier Q>
|
template<typename T, qualifier Q>
|
||||||
GLM_FUNC_QUALIFIER bool operator==(vec<3, T, Q> const& v1, vec<3, T, Q> const& v2)
|
GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CXX11 bool operator==(vec<3, T, Q> const& v1, vec<3, T, Q> const& v2)
|
||||||
{
|
{
|
||||||
|
return v1.x == v2.x && v1.y == v2.y && v1.z == v2.z;
|
||||||
|
/*
|
||||||
return
|
return
|
||||||
detail::compute_equal<T>::call(v1.x, v2.x) &&
|
detail::compute_equal<T>::call(v1.x, v2.x) &&
|
||||||
detail::compute_equal<T>::call(v1.y, v2.y) &&
|
detail::compute_equal<T>::call(v1.y, v2.y) &&
|
||||||
detail::compute_equal<T>::call(v1.z, v2.z);
|
detail::compute_equal<T>::call(v1.z, v2.z);
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
template<typename T, qualifier Q>
|
template<typename T, qualifier Q>
|
||||||
|
@ -321,6 +321,8 @@ static int test_size()
|
|||||||
|
|
||||||
static int test_constexpr()
|
static int test_constexpr()
|
||||||
{
|
{
|
||||||
|
glm::mat4 const I(1.0f);
|
||||||
|
|
||||||
#if GLM_HAS_CONSTEXPR_CXX11
|
#if GLM_HAS_CONSTEXPR_CXX11
|
||||||
static_assert(glm::mat4::length() == 4, "GLM: Failed constexpr");
|
static_assert(glm::mat4::length() == 4, "GLM: Failed constexpr");
|
||||||
#endif
|
#endif
|
||||||
|
@ -563,6 +563,7 @@ static int test_constexpr()
|
|||||||
#if GLM_HAS_CONSTEXPR_CXX11
|
#if GLM_HAS_CONSTEXPR_CXX11
|
||||||
static_assert(glm::vec3::length() == 3, "GLM: Failed constexpr");
|
static_assert(glm::vec3::length() == 3, "GLM: Failed constexpr");
|
||||||
static_assert(glm::vec3(1.0f).x > 0.0f, "GLM: Failed constexpr");
|
static_assert(glm::vec3(1.0f).x > 0.0f, "GLM: Failed constexpr");
|
||||||
|
static_assert(glm::vec3(1.0f) == glm::vec3(1.0f), "GLM: Failed constexpr");
|
||||||
static_assert(glm::vec3(1.0f, -1.0f, -1.0f).x > 0.0f, "GLM: Failed constexpr");
|
static_assert(glm::vec3(1.0f, -1.0f, -1.0f).x > 0.0f, "GLM: Failed constexpr");
|
||||||
static_assert(glm::vec3(1.0f, -1.0f, -1.0f).y < 0.0f, "GLM: Failed constexpr");
|
static_assert(glm::vec3(1.0f, -1.0f, -1.0f).y < 0.0f, "GLM: Failed constexpr");
|
||||||
#endif
|
#endif
|
||||||
|
@ -714,6 +714,7 @@ static int test_constexpr()
|
|||||||
#if GLM_HAS_CONSTEXPR_CXX11
|
#if GLM_HAS_CONSTEXPR_CXX11
|
||||||
static_assert(glm::vec4::length() == 4, "GLM: Failed constexpr");
|
static_assert(glm::vec4::length() == 4, "GLM: Failed constexpr");
|
||||||
static_assert(glm::vec4(1.0f).x > 0.0f, "GLM: Failed constexpr");
|
static_assert(glm::vec4(1.0f).x > 0.0f, "GLM: Failed constexpr");
|
||||||
|
//static_assert(glm::vec4(1.0f) == glm::vec4(1.0f), "GLM: Failed constexpr");
|
||||||
static_assert(glm::vec4(1.0f, -1.0f, -1.0f, -1.0f).x > 0.0f, "GLM: Failed constexpr");
|
static_assert(glm::vec4(1.0f, -1.0f, -1.0f, -1.0f).x > 0.0f, "GLM: Failed constexpr");
|
||||||
static_assert(glm::vec4(1.0f, -1.0f, -1.0f, -1.0f).y < 0.0f, "GLM: Failed constexpr");
|
static_assert(glm::vec4(1.0f, -1.0f, -1.0f, -1.0f).y < 0.0f, "GLM: Failed constexpr");
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user