No,I haven't tested it. It would definitely be slower in theory, because FPU will only optimize float-type variables, whereas traditional logarithmic algorithm are based on "double".
Super thanks! I think that's what I'm looking for!😍
I feel like I've found the logarithmic operation function:backhand_index_pointing_down:？But.....how to use？What does the third parameter(blockSize) mean:astonished_face: ?
void arm_vlog_f16(const float16_t * pSrc,float16_t * pDst,uint32_t blockSize )
> traditional logarithmic algorithm are based on "double"
Have you looked at C documentation, which is newer than 23 years old?
> What does the third parameter(blockSize) mean:astonished_face: ?
Vector means an array. DSP is not some magic, which can turn everything magically faster. The speed is mainly gained by using a SIMD style instructions and parallel calculation. For a calculation of a single number the vectored functions will probably be slower than the appropriate standard C functions.
So to sum up how to use a (single) float numbers... Use the standard C functions with "f" suffix like logf() and add "f" suffix to constants like 1.618f. Also I would recommend compiling with -Wdouble-promotion for GCC and, if available, a similar option for other compilers.