在C函数中调用如下函数
#include <arm_neon.h>
void cacleNumber()
{
float a = 86.0625;
float b = 1.05555558;
float c = 75.8142395;
float value = a * b - c;
float32x4_t nA = vmovq_n_f32(a);
float32x4_t nB = vmovq_n_f32(b);
float32x4_t nC = vmovq_n_f32(c);
float32x4_t nValue = vsubq_f32(vmulq_f32(nA, nB), nC);
float totalValue[4];
vst1q_f32(totalValue, nValue);
}
会发现使用C编译后计算的结果和使用neon计算的结果是不相同的?
C计算的结果是:15.0295124
neon的计算结果是:15.0295105
希望能尽快给一个结论?
添加编译选项add\_compile\_options(-ffp-contract=off)