2014-10-17 83 views
2

當我在我的iPad上航(的iOS 7.1)ARM霓虹燈的iOS浮點轉換

#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

我在做什麼錯?

回答

3

您近距離了!你只是混淆了轉換。改爲使用vcvt_s32_f32(float32x2_t)

+0

好的,謝謝,這解決了我的問題! :-)本來期望編譯器發出類型錯誤。 – 2014-10-18 11:35:43