Simplify f16 type

This commit is contained in:
Nekotekina 2020-12-18 10:01:26 +03:00
parent 4cfa9b11f3
commit 360c4d1554
2 changed files with 3 additions and 4 deletions

View File

@ -6,6 +6,8 @@ static_assert(std::endian::native == std::endian::little || std::endian::native
CHECK_SIZE_ALIGN(u128, 16, 16);
CHECK_SIZE_ALIGN(s128, 16, 16);
CHECK_SIZE_ALIGN(f16, 2, 2);
static_assert(be_t<u16>(1) + be_t<u32>(2) + be_t<u64>(3) == 6);
static_assert(le_t<u16>(1) + le_t<u32>(2) + le_t<u64>(3) == 6);

View File

@ -573,10 +573,9 @@ constexpr inline struct umax_helper
using f32 = float;
using f64 = double;
union alignas(2) f16
struct f16
{
u16 _u16;
u8 _u8[2];
explicit f16(u16 raw)
{
@ -595,8 +594,6 @@ union alignas(2) f16
}
};
CHECK_SIZE_ALIGN(f16, 2, 2);
template <typename T, typename = std::enable_if_t<std::is_integral<T>::value && std::is_unsigned<T>::value>>
constexpr T align(T value, ullong align)
{