Commit Graph

336 Commits (hotfix)

Author SHA1 Message Date
Christophe Favergeon ae88662740 Corrected documentation issue in arm_init_fir_f64 3 years ago
Christophe Favergeon b665767f3e Removed duplicate Doxygen definitions. 3 years ago
Vladimir Marchenko 155759586a Updated Documentation to Doxygen 1.9.2 and new layout. 3 years ago
Christophe Favergeon 7ae1cf11a6 Correction of issue #5
FIR F64 documentation is incorrect.
4 years ago
Christophe Favergeon 3f95fbca89 New repository for CMSIS-DSP 4 years ago
Christophe Favergeon cb0960577d CMSIS-DSP: Improvements to matrix inversion.
Partial pivoting added for better numerical stability.
4 years ago
Christophe Favergeon 99bcacd027 CMSIS-DSP: Some improvements for sign conversion warnings.
Added new tests for function in utils.h
4 years ago
Stephanos Ioannidis dcc48027bd DSP: Fix uninitialised variable references (#1477)
This commit adds initialisation for the variables that can be used
potentially uninitialised so that GCC does not generate warnings while
building the MVE function implementations.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
4 years ago
Christophe Favergeon a0fa802ee2 CMSIS-DSP: Corrected build issue with Neon
New arm_mse_f32 function was no more building.
4 years ago
Christophe Favergeon d4fee7d427 CMSIS-DSP: Corrected typo in some compilation flags for CFFT F64 4 years ago
Christophe Favergeon 1eb1a2ef43 CMSIS-DSP: Added new functions to Python wrapper 4 years ago
Christophe Favergeon 29cb70ce55 CMSIS-DSP: scalar atan2 q31, q15, f32 and f16
Correction to q15 and q31 division when denominator is max
negative value.
4 years ago
Christophe Favergeon 3dacfe8014 CMSIS-DSP: Removed compilation warnings 4 years ago
Johan Bengtsson 065e8351c3 DSP: Remove undefined behavior in post-increment/decrement read (#1443)
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.
4 years ago
Christophe Favergeon 8dcdb350a4 CMSIS-DSP: Mean square error for q15, q31, f16, f32, f64.
Reworked q7 to have a bit more accuracy.
4 years ago
Christophe Favergeon 47a987217f CMSIS-DSP: Mean square error q7 4 years ago
Christophe Favergeon fb90fab3e7 CMSIS-DSP: Added missing functions to the Python wrapper
Changed the version of Jinja2 required by the wrapper to avoid warnings
when using google colab.
4 years ago
FabKlein 168d055297 CMSIS-DSP: Improved Helium CFFT Radix4 butterflies 4 years ago
Christophe Favergeon 02b12fd1cf CMSIS-DSP: New min/max functions.
Added arm_(max|min)_no_idx_(q7|q15|q31|f16|f32|f64).c
Added arm_abs(max|min)_no_idx_(q7|q15|q31|f16|f32|f64).c

For both functions : Helium and scalar versions.
4 years ago
Christophe Favergeon 469379c527 CMSIS-DSP: Correcting issue #1358 4 years ago
Christophe Favergeon e45dc7c22e CMSIS-DSP: Improvements to pull request #1363
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.
4 years ago
FabKlein cfc30c12b8 CMSIS-DSP : faster Q.15/Q.31 Helium matrix multiplications. Uses an initial transpose stage, requiring extra scratch space to hold RHS transposed matrix. 4 years ago
Christophe Favergeon 02d4e88031 CMSIS-DSP: Reworked sqrt q15 and q31 4 years ago
Christophe Favergeon 6ab9125272 CMSIS-DSP: Add MFCC to SDFTools
Python and C++ nodes available.
New examples 5 and 6 are shwoing how to use MFCC in SDF in both cases.
4 years ago
JbR d25b745082 Fix warning unused tmp variable (#1335)
* Fix warning unused tmp variable

* Fix comments
4 years ago
Christophe Favergeon 9a5083c565 CMSIS-DSP: Additional fixes for issue #1328 4 years ago
Christophe Favergeon d26cd50388 CMSIS-DSP: Correcting issue #1328
Sign issue warnings
4 years ago
Christophe Favergeon 46231a68e5 CMSIS-DSP: Correcting issue #1285
representation of float 16 values in generated tables.
4 years ago
Thomas Törnblom 2a7714ced7 DSP: Cleanup of type mismatches (#1327)
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>
4 years ago
Christophe Favergeon 49a38a5eb1 CMSIS-DSP: Corrected issue #1053
(documentation issue)
4 years ago
TTornblom 9b6b4fff80 DSP: Eliminate some non-standard C code
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>
4 years ago
Christophe Favergeon 8092cc61f9 CMSIS-DSP: New MFCC Q15 and Q31
arm_cmplx_mag_q15 reworked to be more accurate but less efficient.

New function arm_cmplx_mag_fast_q15 introduced to retain previous
(less accurate) but faster behavior.

Improvement to Python wrapper to support the new functions.
4 years ago
Christophe Favergeon 99dc566e87 CMSIS-DSP: MVE versions of vlog q15 and q31 and PythonWrapper fix
PythonWrapper was no more building on windows due to a too long
link command line.

A temporary fix was made. But on long term the wrapper must be refactored
into submodules to allow to more easily add new functions.
4 years ago
JbR c91d16b2c2 Fixing double init values 4 years ago
JbR 6c469c6c18 Adding new f64 files to CMakeLists 4 years ago
JbR 329dae5fad Removing defgroup from f64 & fixing double init values 4 years ago
JbR 193adbe24b Removing Doxygen group 4 years ago
JbR 4954674848 Fixing double init value 4 years ago
JbR 7a4579d9a9 Implement some f64 methods 4 years ago
Christophe Favergeon 9674e00294 CMSIS-DSP: log f16 update 4 years ago
Christophe Favergeon 8fb55a90b7 CMSIS-DSP: Added MFCC F16
This first version is not very accurate due to problems with the log.
A coming commit will improve the log accuracy.

Issues #1305 and #1304 also corrected as part of this commit.
4 years ago
Sandeep Mistry bf965eb609 Correct interpol(...) arg in ComplexMathFunctions CMakeLists.txt 4 years ago
Christophe Favergeon 3d264cfabb CMSIS-DSP: MFCC F32
MFCC F32 implementation
MFCC F32 tests
MFCC F32 in Python wrapper
Python wrapper structure updated to support submodule like
cmsisdsp.mfcc and cmsisdsp.fixedpoint
PythonWrapper tests updated to use the new fixedpoint
cmsisdsp.mfcc is used to generate the mel filter, dct and window coefficients.
4 years ago
Christophe Favergeon 9f36d99a0b CMSIS-DSP: Correction os issue 1274
arm_mat_solve_lower_triangular_f32 and arm_mat_solve_upper_triangular_f32
had constraints which could be removed to make the function
more generic.
4 years ago
Christophe Favergeon f1e33b7a7f CMSIS-DSP: Correcting issue 1293
Missing const qualifier in linear interpolation
4 years ago
Christophe Favergeon 840a233053 CMSIS-DSP: Scalar version for arm_vlog_q31
Added scalar version of arm_vlog_q15

Updated PythonWrapper with vlog q31 and q15
Corrected small compilation issue with AC5 compiler.
4 years ago
Christophe Favergeon 3879adccd7 CMSIS-DSP: Correcting issue 1244
warning "statement is unreachable"
4 years ago
Christophe Favergeon 079b404a19 CMSIS-DSP : Correcting issue 1248
ARM_MATH_DSP is not behind a define guard
4 years ago
Christophe Favergeon 2a2f745bd3 CMSIS-DSP: Correction of issue 1217
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.
5 years ago
Christophe Favergeon 5fac45cc96 CMSIS-DSP: Removed float promotion issues
Corrected some additional warnings when compiling with AC5 compiler.
Updated version numbers,
5 years ago
Christophe Favergeon 28746aeadb CMSIS-DSP: Improved tests on matrix inversions
And correction of an internal pointer bug in pivot code.
5 years ago
Christophe Favergeon 1019e4c4a8 CMSIS-DSP: Correcting a bug in matrix inversion
When pivot is 0, the row permutation code was not correct and failing on
some matrixes (but not all matrixes).
5 years ago
Christophe Favergeon ac7da660b7 CMSIS-DSP: Remove type punning in vector code and some compilation warnings. 5 years ago
Christophe Favergeon 4014866174 CMSIS-DSP: Remove some gcc compilation warnings. 5 years ago
Christophe Favergeon acaa70a62a CMSIS-DSP: Correcting issue #1182 5 years ago
Sun Yiming Z 1e8499a24b Update arm_mat_mult_fast_q15.c 5 years ago
Sun Yiming Z 915f074f46 Update arm_rfft_fast_f16.c 5 years ago
Sun Yiming Z a397d144ef Update arm_rfft_fast_f32.c 5 years ago
Jacky Lin 920ed8ac3c Fix misspelled in annotation 5 years ago
Christophe Favergeon 8967816df2 CMSIS-DSP: Improved Helium implementation of fir q7. 5 years ago
Christophe Favergeon 2118cbfb64 CMSIS-DSP: Missing new source file in CMSIS-DSP pack. 5 years ago
Christophe Favergeon d5ad8e995b CMSIS-DSP: Update copyright year and version numbers in comments. 5 years ago
Christophe Favergeon f1bd948a66 CMSIS-DSP: Helium versions of absmax and absmin. 5 years ago
Christophe Favergeon b1c5560344 CMSIS-DSP: Unrolled and DSP versions of absmin and absmax. 5 years ago
Christophe Favergeon 90c27e0f4a CMSIS-DSP: Added absmin and absmax
Scalar versions only.
f32, f16, q31, q15, q7.
5 years ago
Christophe Favergeon 83912a9360 CMSIS-DSP: Correction of issue 1169
Build issues when building with ARM_MATH_SIZE_MISMATCH defined are corrected.
Improvement to the tests to track ARM_MATH_SIZE_MISMATCH error detection.
5 years ago
Christophe Favergeon 8f282215fb CMSIS-DSP: Correcting some build issues with Helium f16 code when building with gcc. 5 years ago
Christophe Favergeon f73cc7bffe CMSIS-DSP: Corrected build issues and code generation issues with gcc. 5 years ago
Christophe Favergeon d4ecc67d58 CMSIS-DSP: Correcting build issues. 5 years ago
Christophe Favergeon abc3374f28 CMSIS-DSP: Correcting build issues with MVE code on gcc. 5 years ago
Christophe Favergeon cf32f9527e CMSIS-DSP: Improvements to MVE code for min/max. 5 years ago
Christophe Favergeon 380fbca6a1 CMSIS-DSP: Improved doxygen comments for FIR. 5 years ago
Christophe Favergeon 5b04d88f3a CMSIS-DSP: Correcting issue #1167 5 years ago
Christophe Favergeon baa16ae1a1 CMSIS-DSP: Correcting issue #1165 5 years ago
Christophe Favergeon 944079db82 CMSIS-DSP: Correct issue #1156 5 years ago
FabKlein a509fa39d4 CMSIS-DSP: FFT bit reversal unrolling
Issue index update earlier, adding more distance with
           subsequent gather loads
           Added Out-of-place variants
5 years ago
Christophe Favergeon f8dad05c73 CMSIS-DSP: MVE version of Levinson Durbin Q31. 5 years ago
Christophe Favergeon 4ba79c27c6 CMSIS-DSP: MVE version of Levinson Durbin f16 5 years ago
Christophe Favergeon dc5477f872 CMSIS-DSP: Added mve code for Levinson Durbin f32.
Some correction to Levinson Durbin Q31.
5 years ago
Christophe Favergeon 630122ae1b CMSIS-DSP: Improvement to FIR documentation and tests. 5 years ago
Christophe Favergeon e9a8ba6255 CMSIS-DSP: Scalar version of Levinson Durbin algorithms.
f32, f16 and q31.
5 years ago
David Green 2074a3b291 CMSIS-DSP: Ensure correlation array index is signed.
This attempts to ensures that even on a 64bit system, the array access
will be treated as a negative number, not a large unsigned offset ending
up reading from the middle of nowhere.
5 years ago
Christophe Favergeon 3f4f217a35 CMSIS-DSP: Added new compilation define for MVE. 5 years ago
Christophe Favergeon ebcecdfa93 CMSIS-DSP: Correction for issue #1130
Better control of the f16 build.
5 years ago
Christophe Favergeon 68dd797c99 CMSIS-DSP: Helium code for clipping functions. 5 years ago
Christophe Favergeon 0556e5fb2a CMSIS-DSP: Added scalar version of clipping functions. 5 years ago
Christophe Favergeon 6819f87932 CMSIS-DSP: Doxygen corrections 5 years ago
Christophe Favergeon f81dccabf7 CMSIS-DSP: Added Helium version of quaternion functions. 5 years ago
Christophe Favergeon 4357c9e947 CMSIS-DSP: Added scalar f32 quaternion functions.
Some correction for RFFT Fast f32 in Python wrapper
5 years ago
Christophe Favergeon 25a524baad CMSIS-DSP: Configuration UI for the build
The first lines of the script are explaining how to use it.
5 years ago
Christophe Favergeon 9c83f0ab0c CMSIS-DSP: API corrections in bitreversal_f16 5 years ago
Christophe Favergeon 4165f51802 CMSIS-DSP: Tuning of link scripts to be able to run bigger tests on IPSS. 5 years ago
Christophe Favergeon 9168382637 CMSIS-DSP: Moved f16 bitreversal code into a new file 5 years ago
Christophe Favergeon 7bb4b16d50 CMSIS-DSP: Correction to an f16 header include. 5 years ago
Christophe Favergeon 8bea32cc0b CMSIS-DSP: Removed wrong includes of f16 headers in f32 code. 5 years ago
Christophe Favergeon 9a254bc926 CMSIS-DSP: Improvements for building with gcc on M55.
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).
5 years ago
Christophe Favergeon 502fb88f3d CMSIS-DSP: Test framework tuning
Tuning to test with gcc and Helium code.
5 years ago
Christophe Favergeon 4288cf4fec CMSIS-DSP: Some improvements to build Helium version with gcc.
Helium f16 disabled by default with gcc since there are a few remaining build issues.
5 years ago
killua-killua f657d52568 Update arm_shift_q15.c
type promotion before __SSAT
5 years ago
killua-killua d18f717c68 Update arm_shift_q7.c
type promotion before __SSAT
5 years ago