You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
unaligned_type<T, Entian> claims to support any T that is either integral or floating point. There are also type aliasses for float, double and long double.
Unfortunately, the unaligned_copy algorithm does not support those correctly, fails with the following error:
etl/include/etl/unaligned_type.h:464:54: error: invalid operands of types ‘float’ and ‘unsigned int’ to binary ‘operator>>’
464 | store[1] = static_cast<storage_type>(value >> (1U * CHAR_BIT));
| ~~~~~~^~~~~~~~~~~~~~~~~~
The text was updated successfully, but these errors were encountered:
I'm looking at removing the equality and inequality operators as
They do not add any real functionality to etl::unaligned_type.
If they are included then the other numerical operators should logically be included.
They hide the conversion to and from the underlying type that is going on to enable the comparison. This is especially true of the floating point types as the they can have an implementation defined amount of padding.
unaligned_type<T, Entian>
claims to support anyT
that is either integral or floating point. There are also type aliasses for float, double and long double.Unfortunately, the
unaligned_copy
algorithm does not support those correctly, fails with the following error:The text was updated successfully, but these errors were encountered: