tests file for RGB10A2, proper SFINAE condition for integral types
This commit is contained in:
@@ -30,21 +30,21 @@ namespace OpenVulkano::Math
|
||||
|
||||
RGB10A2(TYPE value = 0) : value(value) {}
|
||||
|
||||
template<typename T, typename = std::enable_if_t<std::is_unsigned_v<T> || std::is_signed_v<TYPE>>>
|
||||
template<typename T, typename = std::enable_if_t<std::is_integral_v<TYPE>>>
|
||||
void Set(Vector3<T> vec3)
|
||||
{
|
||||
vec3 &= VALUE_BITMASK;
|
||||
SetUnchecked(vec3);
|
||||
}
|
||||
|
||||
template<typename T, typename = std::enable_if_t<std::is_unsigned_v<T> || std::is_signed_v<TYPE>>>
|
||||
template<typename T, typename = std::enable_if_t<std::is_integral_v<TYPE>>>
|
||||
void Set(Vector3_SIMD<T> vec3)
|
||||
{
|
||||
vec3 &= VALUE_BITMASK;
|
||||
SetUnchecked(vec3);
|
||||
}
|
||||
|
||||
template<typename T, typename = std::enable_if_t<std::is_unsigned_v<T> || std::is_signed_v<TYPE>>>
|
||||
template<typename T, typename = std::enable_if_t<std::is_integral_v<TYPE>>>
|
||||
void Set(Vector4<T> vec4)
|
||||
{
|
||||
vec4 &= VALUE_BITMASK;
|
||||
@@ -69,19 +69,19 @@ namespace OpenVulkano::Math
|
||||
Set(Math::Vector4<TYPE>(vec4));
|
||||
}
|
||||
|
||||
template<typename T, typename = std::enable_if_t<std::is_unsigned_v<T> || std::is_signed_v<TYPE>>>
|
||||
template<typename T, typename = std::enable_if_t<std::is_integral_v<TYPE>>>
|
||||
void const SetUnchecked(Vector3<T>& vec3)
|
||||
{
|
||||
value = vec3.r | vec3.g << 10 | vec3.b << 20 | MAX_ALPHA_VALUE << 30;
|
||||
}
|
||||
|
||||
template<typename T, typename = std::enable_if_t<std::is_unsigned_v<T> || std::is_signed_v<TYPE>>>
|
||||
template<typename T, typename = std::enable_if_t<std::is_integral_v<TYPE>>>
|
||||
void SetUnchecked(const Vector3_SIMD<T>& vec3)
|
||||
{
|
||||
value = vec3.r | vec3.g << 10 | vec3.b << 20 | MAX_ALPHA_VALUE << 30;
|
||||
}
|
||||
|
||||
template<typename T, typename = std::enable_if_t<std::is_unsigned_v<T> || std::is_signed_v<TYPE>>>
|
||||
template<typename T, typename = std::enable_if_t<std::is_integral_v<TYPE>>>
|
||||
void SetUnchecked(const Vector4<T>& vec4)
|
||||
{
|
||||
value = vec4.r | vec4.g << 10 | vec4.b << 20 | vec4.a << 30;
|
||||
|
||||
Reference in New Issue
Block a user