mirror of
https://github.com/g-truc/glm.git
synced 2024-12-02 12:34:35 +00:00
Clean up
This commit is contained in:
parent
7fc5d21bbf
commit
6b2ecaaf42
@ -37,13 +37,13 @@ namespace glm{
|
|||||||
namespace detail
|
namespace detail
|
||||||
{
|
{
|
||||||
template <typename genFIType, bool /*signed*/>
|
template <typename genFIType, bool /*signed*/>
|
||||||
struct Abs_
|
struct compute_abs
|
||||||
{};
|
{};
|
||||||
|
|
||||||
template <typename genFIType>
|
template <typename genFIType>
|
||||||
struct Abs_<genFIType, true>
|
struct compute_abs<genFIType, true>
|
||||||
{
|
{
|
||||||
GLM_FUNC_QUALIFIER static genFIType get(genFIType const & x)
|
GLM_FUNC_QUALIFIER static genFIType call(genFIType const & x)
|
||||||
{
|
{
|
||||||
GLM_STATIC_ASSERT(
|
GLM_STATIC_ASSERT(
|
||||||
std::numeric_limits<genFIType>::is_iec559 || std::numeric_limits<genFIType>::is_signed,
|
std::numeric_limits<genFIType>::is_iec559 || std::numeric_limits<genFIType>::is_signed,
|
||||||
@ -54,9 +54,9 @@ namespace detail
|
|||||||
};
|
};
|
||||||
|
|
||||||
template <typename genFIType>
|
template <typename genFIType>
|
||||||
struct Abs_<genFIType, false>
|
struct compute_abs<genFIType, false>
|
||||||
{
|
{
|
||||||
GLM_FUNC_QUALIFIER static genFIType get(genFIType const & x)
|
GLM_FUNC_QUALIFIER static genFIType call(genFIType const & x)
|
||||||
{
|
{
|
||||||
GLM_STATIC_ASSERT(
|
GLM_STATIC_ASSERT(
|
||||||
!std::numeric_limits<genFIType>::is_signed && std::numeric_limits<genFIType>::is_integer,
|
!std::numeric_limits<genFIType>::is_signed && std::numeric_limits<genFIType>::is_integer,
|
||||||
@ -73,7 +73,7 @@ namespace detail
|
|||||||
genFIType const & x
|
genFIType const & x
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
return detail::Abs_<genFIType, std::numeric_limits<genFIType>::is_signed>::get(x);
|
return detail::compute_abs<genFIType, std::numeric_limits<genFIType>::is_signed>::call(x);
|
||||||
}
|
}
|
||||||
|
|
||||||
VECTORIZE_VEC(abs)
|
VECTORIZE_VEC(abs)
|
||||||
|
@ -391,19 +391,19 @@ int test_round()
|
|||||||
Error += G == 2.0f ? 0 : 1;
|
Error += G == 2.0f ? 0 : 1;
|
||||||
|
|
||||||
#if GLM_LANG >= GLM_LANG_CXX11
|
#if GLM_LANG >= GLM_LANG_CXX11
|
||||||
float A1 = std::round(0.0f);
|
float A1 = glm::round(0.0f);
|
||||||
Error += A1 == A ? 0 : 1;
|
Error += A1 == A ? 0 : 1;
|
||||||
float B1 = std::round(0.5f);
|
float B1 = glm::round(0.5f);
|
||||||
Error += B1 == B ? 0 : 1;
|
Error += B1 == B ? 0 : 1;
|
||||||
float C1 = std::round(1.0f);
|
float C1 = glm::round(1.0f);
|
||||||
Error += C1 == C ? 0 : 1;
|
Error += C1 == C ? 0 : 1;
|
||||||
float D1 = std::round(0.1f);
|
float D1 = glm::round(0.1f);
|
||||||
Error += D1 == D ? 0 : 1;
|
Error += D1 == D ? 0 : 1;
|
||||||
float E1 = std::round(0.9f);
|
float E1 = glm::round(0.9f);
|
||||||
Error += E1 == E ? 0 : 1;
|
Error += E1 == E ? 0 : 1;
|
||||||
float F1 = std::round(1.5f);
|
float F1 = glm::round(1.5f);
|
||||||
Error += F == F ? 0 : 1;
|
Error += F == F ? 0 : 1;
|
||||||
float G1 = std::round(1.9f);
|
float G1 = glm::round(1.9f);
|
||||||
Error += G1 == G ? 0 : 1;
|
Error += G1 == G ? 0 : 1;
|
||||||
#endif // GLM_LANG >= GLM_CXX0X
|
#endif // GLM_LANG >= GLM_CXX0X
|
||||||
}
|
}
|
||||||
|
@ -135,6 +135,8 @@ int test_ctr()
|
|||||||
glm::vec4(8, 9, 10, 11),
|
glm::vec4(8, 9, 10, 11),
|
||||||
glm::vec4(12, 13, 14, 15));
|
glm::vec4(12, 13, 14, 15));
|
||||||
|
|
||||||
|
assert(sizeof(m0) == 4 * 4 * 4);
|
||||||
|
|
||||||
glm::mat4 m1{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15};
|
glm::mat4 m1{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15};
|
||||||
|
|
||||||
glm::mat4 m2{
|
glm::mat4 m2{
|
||||||
|
@ -362,6 +362,20 @@ int test_vec4_perf_SoA(std::size_t Size)
|
|||||||
return Error;
|
return Error;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
struct simd_vec4
|
||||||
|
{
|
||||||
|
union
|
||||||
|
{
|
||||||
|
__m128 data;
|
||||||
|
union { float x, r, s; };
|
||||||
|
union { float y, g, t; };
|
||||||
|
union { float z, b, p; };
|
||||||
|
union { float w, a, q; };
|
||||||
|
};
|
||||||
|
};
|
||||||
|
*/
|
||||||
|
|
||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
//__m128 DataA = swizzle<X, Y, Z, W>(glm::vec4(1.0f, 2.0f, 3.0f, 4.0f));
|
//__m128 DataA = swizzle<X, Y, Z, W>(glm::vec4(1.0f, 2.0f, 3.0f, 4.0f));
|
||||||
@ -369,6 +383,8 @@ int main()
|
|||||||
|
|
||||||
int Error(0);
|
int Error(0);
|
||||||
|
|
||||||
|
glm::vec4 v(1.0, 0.5, 0.0, 1.0);
|
||||||
|
|
||||||
std::size_t const Size(1000000);
|
std::size_t const Size(1000000);
|
||||||
|
|
||||||
Error += test_vec4_perf_AoS(Size);
|
Error += test_vec4_perf_AoS(Size);
|
||||||
|
Loading…
Reference in New Issue
Block a user