Документация Clang гласит:
_Float16 arithmeti c будет выполняться с использованием встроенной поддержки половинной точности, когда она доступна на цели (например, на ARMv8.2a); в противном случае он будет выполнен с более высокой точностью (в настоящее время всегда с плавающей точкой), а затем обрезан до _Float16.
Можно ли сказать, что я хочу использовать _Float16
только в первом случае, и float
в противном случае, чтобы избежать усечения во втором случае? Т.е. что-то вроде
#if ???
using float_maybe_16 = _Float16;
#else
using float_maybe_16 = float;
#endif