Commit Graph

336 Commits (hotfix)

Author SHA1 Message Date
邓智豪 d7e6e9aef4 Style: 去除格式引起的编译Warnings 2 years ago
Christophe Favergeon 540161c115 Corrected issue #106
Energy saturation in fixed point for lms norm
3 years ago
Christophe Favergeon 507f0a67ce Correction of issue #105 3 years ago
Christophe Favergeon 1d9e38adca Reworked FFT initializations to make the work of the linker easier.
New FFT initialization functions to make it easier for the linker
to optimize the code size when the library is used as a static
library and can't be rebuilt.

Compilation directives for code size optimizations have been removed.
3 years ago
Christophe Favergeon af5294db09 Revert some part of PR #95
Removed long doubles.
3 years ago
Christophe Favergeon e13bd5a664 Corrections to the documentation. 3 years ago
tfosdike a5048f6ab9
Fixed compiler warnings (#95)
Fixed shadowed variables in assembly macros for Cortex-M convolution
Fixed type promotions in _f64 matrix and transform code

Co-authored-by: Timothy Fosdike <tfosdike@redarc.com.au>
3 years ago
Richard Allen ac64fccfc4
include proper header (#96)
Include header for arm_accumulate_f64, same as how _f32
works to address the following GCC warning when enabled:

Source/StatisticsFunctions/arm_accumulate_f64.c:97:6:
warning: no previous declaration for 'arm_accumulate_f64' [-Wmissing-declarations]
   97 | void arm_accumulate_f64(
      |      ^~~~~~~~~~~~~~~~~~
3 years ago
Christophe Favergeon 5ca0d342ed Use integer rather than all for flax-vector-conversions in clang. 3 years ago
Christophe Favergeon 33c01206f0 Added option for lax vector conversions when compiling Helium code.
In relation with issue #58

When HELIUM, MVEF or MVEI are used as cmake options, the option
LAXVECTORCONVERSIONS can be set to ON or OFF to enable / disable
lax vector conversions in GCC or ArmClang.

Currently, CMSIS-DSP won't build if lax vector conversions are disabled.
The option is ON by default.
3 years ago
Christophe Favergeon 2458ff8670 Correction of issue #93
Const qualifier in interpolation functions
3 years ago
Christophe Favergeon 8b49478b1f Update to the Python wrapper
Corrected issue with RFFT APIs
Added some features to compute graph

Improved documentation related to RFFT
Changed how Python wrapper is built (to prepare fro future
evolution).
3 years ago
Christophe Favergeon bc9321d1aa Corrected typo in MFCC documentation for Q15 and Q31 (issue #87). 3 years ago
Christophe Favergeon 82559adce2 Added DTW to the PythonWrapper API 3 years ago
Christophe Favergeon b46a2f86b5 First version of the dynamic time warping algorithm.
F32 only. Some windows suppported.
3 years ago
Richard Allen a8f4056f79
use 32-bit bitreversal loop index (#81)
With GCC 8.3.1:
arm_bitreversal_16 - saves 1 instruction
arm_bitreversal_64 - saves 5 instructions
3 years ago
Christophe Favergeon f757add3bb Added window functions for use with Fourier transforms.
Regular functions for use with tone detection and noise estimation.
Flat-top windows for estimation of tone amplitudes.

Parameters of the windows are given.

Kaiser window missing (Bessel function not available in the library).

No f16 implementation since it is not accurate enough. It is better
to compute a f32 window and convert to f16 after.
3 years ago
Peter Torelli 1e84880535
Converted atan2_coefs_q15 to `signed int` constants (#75)
Removes conversion warning with `-pedantic`
3 years ago
Christophe Favergeon f91c1f3c24 Better test automation with cmsis build tools
Added a python script for automation of tests with cmsis build tools.
Correction to some tests
Float promotion issues in some f16 code.
3 years ago
Christophe Favergeon db4253f0ee New f16 files were not testing for ARM_FLOAT16_SUPPORTED 3 years ago
Lingkai Dong 7a27992cdc
Apply -flax-vector-conversions flag to GCC (#65)
Some CMSIS-DSP code does not explicitly convert between vectors of
different numbers and types of elements. While some other compilers
default to implicitly converting vectors, gcc does not do this unless
explicitly enabled.

Signed-off-by: Lingkai Dong <lingkai.dong@arm.com>

Signed-off-by: Lingkai Dong <lingkai.dong@arm.com>
3 years ago
Christophe Favergeon 25c3fa3c02 Corrected compilation warnings. 3 years ago
Silfurion 633ab5913e Add Conversion functions from and to 64 bit floating point
Cleaned f64 conversion functions.
3 years ago
KoenVda88 60e1e88f45
doc(args): make sure function declarations have the same arguments names (#67)
Co-authored-by: Koen <koen@gsf.engineering>
3 years ago
Christophe Favergeon 91ef795234 Corrected issue #66
Saturation problem in arm_absmax_no_idx_q(7|15|31)
Difference of behavior for absmax_q(7|15|31) between reference and code:
reference is first max found. Code was last max found.
3 years ago
Christophe Favergeon 3d1a7f7ff4 Improvement to the Python wrapper
Corrected issues with arm_fir_decimate and arm_fir_interpolate
Corrected issues with real FFTs in the wrapper
Added a customization option for the FIFO class in compute graph.
Added Python tests for the corrected functions.
3 years ago
Christophe Favergeon 0705c67568 Corrected issue #59
Out of bound access for arm_correlate MVE implementations.
3 years ago
Christophe Favergeon 54be9aeaee Corrected issue #61
Table configuration issue with RFFT Fast F32 and F16

The define use to include or exclude the bit reverse table is different
for scalar and MVE versions. The test was not covering both cases.
3 years ago
Christophe Favergeon 68ddaa577d Corrected issue #62
MVE tables were not const qualified.
3 years ago
Christophe Favergeon 9eb4e92e74 Corrected issue #57
Problem with arm_scale_q15 and q31.

Reorganized a little the cmsis build scripts for the test framework.
3 years ago
Christophe Favergeon 8ed2ef7a7e Corrected doxygen issue. 3 years ago
Silfurion 3d5fb83720 Add some f64 Neon optimisations for aarch64
Some documentation improvements.
3 years ago
Christophe Favergeon 633b528421 Corrected issue #49
Incorrect out of bounds value for linear interpolation (float).
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 cbf9e73c06 Improved comment and test framework. 3 years ago
Christophe Favergeon 305b12c4a7 Corrected small issues when building for aarch64. 3 years ago
Christophe Favergeon 865419778b Added tests for the new accumulate functions.
Corrected build issue on Neon without aarch64 support.
Corrected some Doxygen issues
3 years ago
Silfurion 2887bff90c remove MVE part to keep testable part on my side 3 years ago
Silfurion 5630232a47 Remove q7 , q15 and q31 version of accumulate function 3 years ago
Silfurion d2b8728b22 Update Output type to avoid saturation 3 years ago
Silfurion 1443d0625f Update BasicMathFunctionsF16.c 3 years ago
Silfurion 9a1a7d284f Prepare for merge 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 da2a055e21 Improved speed of atan2 for q15 and q31 versions.
Inlined some CMSIS-DSP functions (since they were used on vectors
of only 1 sample).
3 years ago
Christophe Favergeon 7a3816fcdd Correction of issue #2 3 years ago
Christophe Favergeon 5721f94b28 Improved documentation
Corrected issues #7 and #8
Removed duplicates
Started using Mathjax
3 years ago
Christophe Favergeon 6a7b8879f4 Added documentation about how to build with Make
An example makefile was added into Source and the README improved.
Small correction to Python wrapper URLs.
3 years ago
Christophe Favergeon 91f599c052 Householder and QR decomposition for matrices (f64,f32,f16).
(not yet optimized)
3 years ago