问题描述
int16_t max = 0;
int16_t *in16 = (int16_t *)myptr;
for (i = 0; i < 256; i++) {
int16_t val = *in16++;
if (val > max)
max = val;
}
return max;
是否有一条Cortex M4 DSP指令来计算相邻值的最大值。我找不到。
在CMSIS中,我看到“ arm_max_q15”。该功能如何实现?
解决方法
似乎没有太多的加速可能。 arm_max_q15的代码在这里:https://github.com/ARM-software/CMSIS/blob/master/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_max_q15.c