中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

svml128_sincos_f?

计算输入向量的正弦值与余弦值。

接口定义

C interface:

void svml128_sincos_f32(float32x4_t src, float32x4_t *sindst, float32x4_t *cosdst);

void svml128_sincos_f64(float64x2_t src, float64x2_t *sindst ,float64x2_t *cosdst);

参数

参数名

类型

描述

输入/输出

src

  • 在svml128_sincos_f32中,src是单精度浮点类型。
  • 在svml128_sincos_f64中,src是双精度浮点类型。

表示输入向量的浮点值。

输入

sindst

  • 在svml128_sincos_f32中,sindst是单精度浮点类型。
  • 在svml128_sincos_f64中,sindst是双精度浮点类型。

表示输出向量的浮点值。

若为空指针,会提示空指针错误并返回。

输出

cosdst

  • 在svml128_sincos_f32中,cosdst是单精度浮点类型。
  • 在svml128_sincos_f64中,cosdst是双精度浮点类型。

表示输出向量的浮点值。

若为空指针,会提示空指针错误并返回。

输出

输出结果

  • 每一个运算值返回弧度角x的正弦数值sinx和余弦函数值cosx,sinx ∈ [-1, +1],cosx ∈ [-1, +1]。
  • 输入+0,返回正弦值+0和余弦值+1。
  • 输入-0,返回正弦值-0和余弦值+1。
  • 输入±∞,均返回nan。
  • 输入nan,均返回nan。

依赖

C: "ksvml.h"

示例

C interface:

    float32x4_t src = {0.0f, 2.0f, INFINITY, NAN};
    float32x4_t dst = (float32x4_t*)malloc(4*sizeof(float32x4_t));
    float32x4_t dst2 = (float32x4_t*)malloc(4*sizeof(float32x4_t));
    vatan_neon_f32(src, dst, dst2);
    printf("%.15g  %.15g  %.15g  %.15g\n", dst[0], dst[1], dst[2], dst[3]); 
    printf("%.15g  %.15g  %.15g  %.15g\n", dst2[0], dst2[1], dst2[2], dst2[3]);
    /**
     *  Output dst:
     *     0  0.909297426825682  nan  -nan
     *     1  -0.416146836547142  nan  -nan
     *
     */