FT_DSP.gitlink.net/master/html/_sources/functionlib/dsplib/sin.rst.txt

86 lines
2.4 KiB
ReStructuredText
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Sin
=================
传入一个数组,对每个元素逐元素计算其正弦值并输出。
.. math::
dst_i = \sin(src_i)
输入角度单位为弧度。
输入:
- **src_data** - 输入数据地址。
- **length** - 计算长度。
- **core_mask** - 核掩码(仅适用于共享存储版本)。
输出:
- **dst_data** - 计算结果地址。
支持平台:
``FT78NE``
``MT7004``
.. note::
- FT78NE 支持 fp, dp, int8, int16, int32
- MT7004 支持 hp, fp, int16, int32
- 整数类型在计算时会先转换为浮点数,再按对应类型输出
**共享存储版本:**
.. c:function:: void i8_sin_s(int8_t* src_data, float* dst_data, int length, int core_mask)
.. c:function:: void i16_sin_s(int16_t* src_data, float* dst_data, int length, int core_mask)
.. c:function:: void i32_sin_s(int* src_data, float* dst_data, int length, int core_mask)
.. c:function:: void hp_sin_s(half* src_data, half* dst_data, int length, int core_mask)
.. c:function:: void fp_sin_s(float* src_data, float* dst_data, int length, int core_mask)
.. c:function:: void dp_sin_s(double* src_data, double* dst_data, int length, int core_mask)
**C调用示例**
.. code-block:: c
:linenos:
:emphasize-lines: 10
//FT78NE示例
#include <stdio.h>
#include <sin.h>
int main(int argc, char* argv[]) {
float *input = (float *)0xA0000000; // input在DDR空间
float *output = (float *)0xC0000000;
int length = 1024;
int core_mask = 0xff;
fp_sin_s(input, output, length, core_mask);
return 0;
}
**私有存储版本:**
.. c:function:: void i8_sin_p(int8_t* src_data, float* dst_data, int length)
.. c:function:: void i16_sin_p(int16_t* src_data, float* dst_data, int length)
.. c:function:: void i32_sin_p(int* src_data, float* dst_data, int length)
.. c:function:: void hp_sin_p(half* src_data, half* dst_data, int length)
.. c:function:: void fp_sin_p(float* src_data, float* dst_data, int length)
.. c:function:: void dp_sin_p(double* src_data, double* dst_data, int length)
**C调用示例**
.. code-block:: c
:linenos:
:emphasize-lines: 9
//FT78NE示例
#include <stdio.h>
#include <sin.h>
int main(int argc, char* argv[]) {
float *input = (float *)0x10810000; // input在L2空间
float *output = (float *)0x10820000;
int length = 1024;
fp_sin_p(input, output, length);
return 0;
}