When qfloat16 uses float as an underlying type, the operators cannot be constexpr, because operator float() is not constexpr. However, operator NativeType() is, so we can make the relational operators constexpr when we are using a native 16-bit float as an underlying type. To avoid code duplication, introduce new temporary macros for constexpr and Q_DECLARE_PARTIALLY_ORDERED_LITERAL_TYPE. Extend the tests to verify that the operators are constexpr when native float16 type is used. Task-number: QTBUG-119433 Pick-to: 6.7 Change-Id: I001b087d78c398c71b71a504b65c316199dd4792 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Marc Mutz <marc.mutz@qt.io> |
||
|---|---|---|
| .. | ||
| CMakeLists.txt | ||
| tst_qfloat16.cpp | ||