我是这些内在学的新手,但想知道你是否可以帮助我。由于此错误,我的程序无法编译。关于如何修复它的任何想法?我认为这应该有效,因为r2_v也是数据类型__m128d
error: initializing '__m128d' (vector of 2 'double' values)
with an expression of incompatible type 'int'
__m128d r2inv_v = _mm_rsqrt_pd(r2_v);
^ ~~~~~~~~~~~~~~~~~~
感谢。
这是它错误的代码
__m128d r2_v = _mm_add_pd(_mm_add_pd(_mm_mul_pd(rx_v, rx_v),_mm_mul_pd(ry_v, ry_v)),_mm_add_pd(_mm_mul_pd(rz_v, rz_v),eps_v));
__m128d r2inv_v = _mm_rsqrt_pd(r2_v);
答案 0 :(得分:1)
您需要创建__m128d
类型的变量。您可以使用
__m128d _mm_set_pd (double e1, double e0)
或直接在通话中使用
_mm_rsqrt_pd( _mm_set_pd( d1, d2 ) );