Commit Graph

70 Commits (b9b58d044e4ae1a3f9f582574b1edd554d38a11b)

Author SHA1 Message Date
Silfurion 3d5fb83720 Add some f64 Neon optimisations for aarch64
Some documentation improvements.
3 years ago
Stephanos Ioannidis 5783c6e509
Fix uninitialised variable references reported by GCC 12 (#42)
This commit fixes the uninitialised variable reference warnings
reported by GCC 12.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
3 years ago
Christophe Favergeon e0bb1407f7 Improved documentation 3 years ago
Christophe Favergeon 2bd5292468 Optimizations for QR decomposition. 3 years ago
Christophe Favergeon 6e95cfef9d Typo in MatrixFunctionsF16.c
A .f32 version was included.
Correcting issue #36
3 years ago
Christophe Favergeon 5721f94b28 Improved documentation
Corrected issues #7 and #8
Removed duplicates
Started using Mathjax
3 years ago
Christophe Favergeon 91f599c052 Householder and QR decomposition for matrices (f64,f32,f16).
(not yet optimized)
3 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
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 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
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
JbR d25b745082 Fix warning unused tmp variable (#1335)
* Fix warning unused tmp variable

* Fix comments
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
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 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 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
Sun Yiming Z 1e8499a24b Update arm_mat_mult_fast_q15.c 5 years ago
Jacky Lin 920ed8ac3c Fix misspelled in annotation 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 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 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 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
Christophe Favergeon a888f7205b CMSIS-DSP: Some minor corrections.
Documentation and #define naming.
5 years ago
Christophe Favergeon 212e9cb805 CMSIS-DSP: Added Cholesky decomposition
LL^t and LDL^t variant.

Added foward and backward substitution to solve linear systems
with triangular matrix.
5 years ago
Christophe Favergeon a7fd426546 CMSIS-DSP: Removed patch for armclang issue on M55
Issue will be corrected in 6.15
5 years ago
Christophe Favergeon 0bcb1384f2 CMSIS-DSP: More consistent use of the flag ARM_MATH_AUTOVECTORIZE 5 years ago
Christophe Favergeon 078c0b282d CMSIS-DSP: Improved f16 scalar code. 5 years ago
Christophe Favergeon 29a69f56d0 CMSIS-DSP: Improved some f16 helium codes. 5 years ago
Christophe Favergeon 51be1901ce CMSIS-DSP: Added f16 versions of statistics functions. 5 years ago
Christophe Favergeon d2d691cc23 CMSIS-DSP: Added f16 matrix functions 5 years ago
Christophe Favergeon 41f2015387 CMSIS-DSP: Re-organization of arm_math.h
arm_math.h splitted into several headers.
Interpolation functions moved from arm_math.h to a separate folder.
5 years ago
Christophe Favergeon 566550e15d CMSIS-DSP: doxygen corrections 6 years ago
Christophe Favergeon 3359d706cf CMSIS-DSP: Corrected build issue with Python wrapper.
Corrected bug in arm_mat_vec_mult_q15.
6 years ago
Christophe Favergeon a20e215bfc CMSIS-DSP: Added new matrix functions and their MVE implementation
arm_mat_cmplx_trans_f32.c
arm_mat_cmplx_trans_q15.c
arm_mat_cmplx_trans_q31.c
6 years ago
Christophe Favergeon 8268b079d5 CMSIS-DSP: Added new matrix functions and MVE version
arm_mat_mult_q7.c
arm_mat_trans_q7.c
arm_mat_vec_mult_f32.c
arm_mat_vec_mult_q15.c
arm_mat_vec_mult_q31.c
arm_mat_vec_mult_q7.c
6 years ago
Christophe Favergeon c0d3b61f37 CMSIS-DSP: Changed cmake required minimum version 6 years ago
Christophe Favergeon 0e438b58f6 CMSIS-DSP: Fix to MVE code to allow compilation with AC6 6.14 6 years ago
Christophe Favergeon c97ef0adf6 CMSIS-DSP:Correction for issue 258 6 years ago
Christophe Favergeon c0a597a51c CMSIS-DSP: Added test patterns for arm_fir_decimate and arm_fir_interpolate.
Added MVE code for arm_fir_decimate and arm_fir_interpolate.
6 years ago
Christophe Favergeon 4e4b9ca8bb CMSIS-DSP: Corrected build issues with AC5 and gcc. Improved Doxygen comments. 6 years ago
Christophe Favergeon 26cb1690bc CMSIS-DSP: Corrected problem with arm_mat_inverse.
Related to pull request 741 when pivot is 0.
6 years ago
Christophe Favergeon 98f44f4491 CMSIS-DSP: Added MVE code for Matrix functions.
Added test patterns for Matrix functions.
Regenerated all tests patterns to improve testing for tails.
Corrected issues in pattern generation scripts.
6 years ago