【问题标题】:ARM Neon iOS floating-point conversionARM Neon iOS 浮点转换
【发布时间】:2014-10-17 14:18:36
【问题描述】:

当我在 iPad Air (iOS 7.1) 上执行此代码时

#include <arm_neon.h>

static inline void TestArmConversion()
{
    float x[2] = { 1.5, 2.6 };
    int32_t z[2];

    vst1_s32(z, vcvt_f32_s32(vld1_f32(x)));

    for (int k = 0; k < 2; k++)
    {
        printf("z[%d] = %d\n", k, z[k]);
    }
}

...我得到以下结果:

z[0] = 1316945920
z[1] = 1317031117

我本来希望得到

z[0] = 1 z[1] = 2

我做错了什么?

【问题讨论】:

    标签: ios arm neon


    【解决方案1】:

    你很接近!你只是混淆了转换。请改用vcvt_s32_f32(float32x2_t)。

    【讨论】:

    • 好的,谢谢,这解决了我的问题! :-) 预计编译器会发出类型错误。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多