Fix bitCount test version

This commit is contained in:
Christophe 2023-12-20 23:28:36 +01:00
parent 641bb363a7
commit b5b42b45c2

View File

@ -1426,7 +1426,7 @@ namespace bitCount
template<glm::length_t L, typename T, glm::qualifier Q> template<glm::length_t L, typename T, glm::qualifier Q>
static glm::vec<L, int, Q> bitCount_bitfield(glm::vec<L, T, Q> const& v) static glm::vec<L, int, Q> bitCount_bitfield(glm::vec<L, T, Q> const& v)
{ {
glm::vec<L, typename glm::detail::make_unsigned<T>::type, Q> x(*reinterpret_cast<glm::vec<L, typename glm::detail::make_unsigned<T>::type, Q> const *>(&v)); glm::vec<L, typename glm::detail::make_unsigned<T>::type, Q> x(v);
x = compute_bitfieldBitCountStep<sizeof(T) * 8 >= 2>::call(x, static_cast<typename glm::detail::make_unsigned<T>::type>(0x5555555555555555ull), static_cast<typename glm::detail::make_unsigned<T>::type>( 1)); x = compute_bitfieldBitCountStep<sizeof(T) * 8 >= 2>::call(x, static_cast<typename glm::detail::make_unsigned<T>::type>(0x5555555555555555ull), static_cast<typename glm::detail::make_unsigned<T>::type>( 1));
x = compute_bitfieldBitCountStep<sizeof(T) * 8 >= 4>::call(x, static_cast<typename glm::detail::make_unsigned<T>::type>(0x3333333333333333ull), static_cast<typename glm::detail::make_unsigned<T>::type>( 2)); x = compute_bitfieldBitCountStep<sizeof(T) * 8 >= 4>::call(x, static_cast<typename glm::detail::make_unsigned<T>::type>(0x3333333333333333ull), static_cast<typename glm::detail::make_unsigned<T>::type>( 2));
x = compute_bitfieldBitCountStep<sizeof(T) * 8 >= 8>::call(x, static_cast<typename glm::detail::make_unsigned<T>::type>(0x0F0F0F0F0F0F0F0Full), static_cast<typename glm::detail::make_unsigned<T>::type>( 4)); x = compute_bitfieldBitCountStep<sizeof(T) * 8 >= 8>::call(x, static_cast<typename glm::detail::make_unsigned<T>::type>(0x0F0F0F0F0F0F0F0Full), static_cast<typename glm::detail::make_unsigned<T>::type>( 4));
@ -1512,7 +1512,7 @@ namespace bitCount
int ResultA = glm::bitCount(DataI32[i].Value); int ResultA = glm::bitCount(DataI32[i].Value);
Error += DataI32[i].Return == ResultA ? 0 : 1; Error += DataI32[i].Return == ResultA ? 0 : 1;
assert(!Error); assert(!Error);
/*
int ResultB = bitCount_if(DataI32[i].Value); int ResultB = bitCount_if(DataI32[i].Value);
Error += DataI32[i].Return == ResultB ? 0 : 1; Error += DataI32[i].Return == ResultB ? 0 : 1;
assert(!Error); assert(!Error);
@ -1524,7 +1524,6 @@ namespace bitCount
int ResultE = bitCount_bitfield(DataI32[i].Value); int ResultE = bitCount_bitfield(DataI32[i].Value);
Error += DataI32[i].Return == ResultE ? 0 : 1; Error += DataI32[i].Return == ResultE ? 0 : 1;
assert(!Error); assert(!Error);
*/
} }
return Error; return Error;