According to the C standard q15_t * and const q15_t * are not compatible
types which, among other things, imply that an object of type const
q15_t * can't be modified by writing to a q15_t ** or vice versa.
Programs doing this are undefined.
Because of this rule all programs using the functions read_q15x2_ia,
read_q15x2_da, read_q7x4_ia, or read_q7x4_da for reading data from an
array of constant elements will be undefined. To solve this it is not
enough to change the type of the function since this will give problems
when reading data from an array of non-const elements. To get a defined
solution I needed to switch from functions to macros to allow the
increment to be done in the original type of the pointer.
To avoid having to change the API in an incompatible way,
a arm_mat_mult_opt_q31 was introduced and is providing a faster implementation
to use with Helium (but requiring more storage for intermediate results).
Some improvements to tests for matrix functions added.
The IAR compiler appears to provide more warnings about type
mismatches than the other compilers. This cleans a lot of them up.
Signed-off-by: TTornblom <thomas.tornblom@iar.com>
Cleaned out some non-standard C code, typeof() and using
"const" variables as constants.
Also added some initial IAR support.
Signed-off-by: TTornblom <thomas.tornblom@iar.com>
Wrong initialization code for Neon version of biquad DF2T.
Initialization function was trying to modify a const array.
Added Neon function to Doxygen output and some correction because of Doxygen.
Build issues when building with ARM_MATH_SIZE_MISMATCH defined are corrected.
Improvement to the tests to track ARM_MATH_SIZE_MISMATCH error detection.
Solve most of f16 issues. But there are still some remaining
build issues with gcc10q4.
2 functions are reverting to scalar version when build with gcc on M55.
(Since Helium versions of those functions are not building).
(For our internal use. In short term, we won't give support about it).
CMSIS-DSP: Update to cmake build for the testing framework
CMSIS-NN:Implementation of arm_fully_connected_s8
Use API and quantization compatible with TF Lite.
Compilation symbols have been introduced to allow to include only the
FFT tables which are useful in a given application.
The README.md in DSP is giving more details.