---
title: svml128_sincos_f?
description: "计算输入向量的正弦值与余弦值。"
url: https://www.hikunpeng.com/document/detail/zh/hpchistory/hpckit/develop2400/kunpengaccel_kml_0426.html
sourcePath: /source/zh/hpchistory/hpckit/develop2400/kunpengaccel_kml_0426.html
indexId: 82c2292eae355f2b0575400c2fb577e1ddee7cb8d3ffa8c80d181f13fa017bd067
---
# 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
     *
     */
```
