mirror of
https://github.com/Fishwaldo/bl_mcu_sdk.git
synced 2025-07-22 12:48:29 +00:00
[feat][nmsis] add nmsis component and nn,dsp demo
This commit is contained in:
parent
b2aada479b
commit
5d1126d0f0
989 changed files with 286224 additions and 0 deletions
49
examples/dsp/BasicMathFunctions_part1/dot_prod.c
Normal file
49
examples/dsp/BasicMathFunctions_part1/dot_prod.c
Normal file
|
@ -0,0 +1,49 @@
|
|||
#include "ref.h"
|
||||
|
||||
void ref_dot_prod_f32(float32_t *pSrcA, float32_t *pSrcB, uint32_t blockSize,
|
||||
float32_t *result)
|
||||
{
|
||||
uint32_t i;
|
||||
float32_t sum = 0.0f;
|
||||
|
||||
for (i = 0; i < blockSize; i++) {
|
||||
sum += pSrcA[i] * pSrcB[i];
|
||||
}
|
||||
*result = sum;
|
||||
}
|
||||
|
||||
void ref_dot_prod_q31(q31_t *pSrcA, q31_t *pSrcB, uint32_t blockSize,
|
||||
q63_t *result)
|
||||
{
|
||||
uint32_t i;
|
||||
q63_t sum = 0.0f;
|
||||
|
||||
for (i = 0; i < blockSize; i++) {
|
||||
sum += ((q63_t)pSrcA[i] * pSrcB[i]) >> 14; // 16.48
|
||||
}
|
||||
*result = sum;
|
||||
}
|
||||
|
||||
void ref_dot_prod_q15(q15_t *pSrcA, q15_t *pSrcB, uint32_t blockSize,
|
||||
q63_t *result)
|
||||
{
|
||||
uint32_t i;
|
||||
q63_t sum = 0.0f;
|
||||
|
||||
for (i = 0; i < blockSize; i++) {
|
||||
sum += (q31_t)pSrcA[i] * pSrcB[i]; // 34.30
|
||||
}
|
||||
*result = sum;
|
||||
}
|
||||
|
||||
void ref_dot_prod_q7(q7_t *pSrcA, q7_t *pSrcB, uint32_t blockSize,
|
||||
q31_t *result)
|
||||
{
|
||||
uint32_t i;
|
||||
q31_t sum = 0.0f;
|
||||
|
||||
for (i = 0; i < blockSize; i++) {
|
||||
sum += (q31_t)pSrcA[i] * pSrcB[i]; // 18.14
|
||||
}
|
||||
*result = sum;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue