_mm_rsqrt_pd() 的数据类型错误?
Wrong data type for _mm_rsqrt_pd()?
我是这些内在函数的新手,但想知道您是否可以帮助我。由于这个错误,我的程序无法编译。关于如何解决它的任何想法?我认为这应该有效,因为 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);
您需要创建一个 __m128d
类型的变量。您可以使用
创建一个
__m128d _mm_set_pd (double e1, double e0)
或者直接在调用中使用
_mm_rsqrt_pd( _mm_set_pd( d1, d2 ) );
我是这些内在函数的新手,但想知道您是否可以帮助我。由于这个错误,我的程序无法编译。关于如何解决它的任何想法?我认为这应该有效,因为 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);
您需要创建一个 __m128d
类型的变量。您可以使用
__m128d _mm_set_pd (double e1, double e0)
或者直接在调用中使用
_mm_rsqrt_pd( _mm_set_pd( d1, d2 ) );