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

83 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.

Assert
=================
逐元素判断输入是否为真(非零)。若输入为真则输出 1否则输出 0。
.. math::
output_i = \begin{cases}
1, & \text{if } input_i \neq 0 \\
0, & \text{if } input_i = 0
\end{cases}
输入:
- **input** - 输入数据地址。
- **core_mask(int, 可选)** - 核掩码(仅适用于共享存储版本)。
输出:
- **output** - 计算结果地址。
支持平台:
``FT78NE``
``MT7004``
.. note::
- FT78NE 支持 int8, int16, int32, fp32, fp64, cplx64, cplx128
- MT7004 支持 fp16, fp32, int16, int32, cplx64
**共享存储版本:**
.. c:function:: void i8_assert_s(int8_t *input, int8_t *output, int core_mask)
.. c:function:: void i16_assert_s(int16_t *input, int16_t *output, int core_mask)
.. c:function:: void i32_assert_s(int *input, int *output, int core_mask)
.. c:function:: void hp_assert_s(half *input, half *output, int core_mask)
.. c:function:: void fp_assert_s(float *input, float *output, int core_mask)
.. c:function:: void dp_assert_s(double *input, double *output, int core_mask)
.. c:function:: void c64_assert_s(float *input, float *output, int core_mask)
.. c:function:: void c128_assert_s(double *input, double *output, int core_mask)
**C调用示例**
.. code-block:: c
:linenos:
:emphasize-lines: 9
//FT78NE示例
#include <stdio.h>
int main(int argc, char* argv[]) {
float *input = (float *)0xA0000000;
float *output = (float *)0xC0000000;
int core_mask = 0xff;
fp_assert_s(input, output, core_mask);
return 0;
}
**私有存储版本:**
.. c:function:: void i8_assert_p(int8_t *input, int8_t *output)
.. c:function:: void i16_assert_p(int16_t *input, int16_t *output)
.. c:function:: void i32_assert_p(int *input, int *output)
.. c:function:: void hp_assert_p(half *input, half *output)
.. c:function:: void fp_assert_p(float *input, float *output)
.. c:function:: void dp_assert_p(double *input, double *output)
.. c:function:: void c64_assert_p(float *input, float *output)
.. c:function:: void c128_assert_p(double *input, double *output)
**C调用示例**
.. code-block:: c
:linenos:
:emphasize-lines: 7
//FT78NE示例
#include <stdio.h>
int main(int argc, char* argv[]) {
float *input = (float *)0x10800000;
float *output = (float *)0x10810000;
fp_assert_p(input, output);
return 0;
}