Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/141.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 有没有一种方法可以测试目标是否在Clang中具有本机的半精度支持?_C++_Clang_Half Precision Float - Fatal编程技术网

C++ 有没有一种方法可以测试目标是否在Clang中具有本机的半精度支持?

C++ 有没有一种方法可以测试目标是否在Clang中具有本机的半精度支持?,c++,clang,half-precision-float,C++,Clang,Half Precision Float,Clang文档说: _浮点16算法将在目标上可用时使用本机半精度支持执行(例如,在ARMv8.2a上);否则,它将以更高的精度执行(当前总是浮点),然后被截断为_Float16 有没有一种方法可以说我只想在第一种情况下使用\u Float16,否则,我想在第二种情况下使用float,以避免截断?例如 #if ??? using float_maybe_16 = _Float16; #else using float_maybe_16 = float; #endif “有没有办法说我只想在第一种

Clang文档说:

_浮点16算法将在目标上可用时使用本机半精度支持执行(例如,在ARMv8.2a上);否则,它将以更高的精度执行(当前总是浮点),然后被截断为_Float16


有没有一种方法可以说我只想在第一种情况下使用
\u Float16
,否则,我想在第二种情况下使用
float
,以避免截断?例如

#if ???
using float_maybe_16 = _Float16;
#else
using float_maybe_16 = float;
#endif

“有没有办法说我只想在第一种情况下使用浮点数16,而在其他情况下使用浮点数?”-您引用的文档不是说这就是默认情况下得到的结果吗???@JesperJuhl没有。默认情况是在缺少真正的半精度类型时截断额外的精度。如果半精度算法不可用,则给定的伪代码将保持该精度。这是一个微妙的区别,因此OP可能应该澄清这是否是目的。您是否看过
\uuuuizeof\ufloat\uuuuu
?是的,目的是在第二种情况下避免截断。@FTrias经过它似乎不相关,只是
SIZEOF(FLOAT)
是否有半精度支持。除非我误解了什么?