aboutsummaryrefslogtreecommitdiffstats
path: root/common
Commit message (Collapse)AuthorAgeFilesLines
* Update span to better check out-of-bounds subspan requestsChris Robinson2023-12-201-37/+77
|
* Ensure struct members are initializedChris Robinson2023-12-202-2/+2
|
* Remove DEF_NEWDELChris Robinson2023-12-161-13/+0
| | | | | C++17 provides alignment-aware allocators for us, so we don't need to use our own to make sure classes/structs are properly aligned.
* Mark constructors noexcept as neededChris Robinson2023-12-151-3/+9
|
* Catch a potential exception to free memoryChris Robinson2023-12-151-3/+13
|
* Remove unnecessary macro parameter listsChris Robinson2023-12-152-6/+6
|
* Properly check if size_t is larger than uint32_tChris Robinson2023-12-151-1/+1
|
* Add some noexcept for free functionsChris Robinson2023-12-152-17/+20
|
* Remove void from empty parameter listsChris Robinson2023-12-121-1/+1
| | | | Also convert some functions to trailing return types and remove (void) casts.
* Much more clang-tidy cleanupChris Robinson2023-12-102-6/+6
|
* Refactor FlexArrayChris Robinson2023-12-103-116/+114
| | | | | This avoids using an array of 1 as a flexible array member, and instead uses a span to reference the memory after itself.
* More clang-tidy cleanupChris Robinson2023-12-101-4/+4
| | | | And suppress some warnings
* Be less messy with PFFFTChris Robinson2023-12-092-15/+60
| | | | | Remove a 1-element array for an over-allocated struct array. Also add a wrapper struct for C++.
* Clean up some more clang-tidy warningsChris Robinson2023-12-081-1/+3
|
* Fix some clang-tidy warningsChris Robinson2023-12-089-123/+121
|
* Make sure the size is large enough for allocating a structChris Robinson2023-12-051-1/+2
|
* Assert that a value is in the expected rangeChris Robinson2023-12-041-0/+2
|
* Remove some unnecessary atomic wrappersChris Robinson2023-12-032-9/+6
|
* Handle systems that don't support std::cyl_bessel_iChris Robinson2023-11-181-2/+45
|
* Use the C++ standard's regular modified Bessel functionChris Robinson2023-11-081-29/+2
|
* Precompute a value used multiple timesChris Robinson2023-11-071-19/+9
|
* Remove an unnecessary struct memberChris Robinson2023-11-041-0/+3
|
* Remove unnecessary extra macrosChris Robinson2023-10-261-55/+37
|
* Don't make a float version of complex_fftChris Robinson2023-10-252-26/+19
|
* Use a more appropriate type trait to remove a pointerChris Robinson2023-10-191-1/+1
|
* Combine some more VADD(VMUL(... into VMADD(...Chris Robinson2023-10-171-48/+44
|
* Mark some output buffer pointers as RESTRICTChris Robinson2023-10-161-15/+17
|
* Replace some function-like macros with real functionsChris Robinson2023-10-161-117/+136
|
* Avoid some macros that use inputs multiple timesChris Robinson2023-10-161-25/+57
|
* Constify some parametersChris Robinson2023-10-162-19/+24
|
* Use a split filter for the FIR-based UHJ encodersChris Robinson2023-10-141-0/+4
| | | | | | | | This applies the all-pass filter in two steps, first as a relatively short time-domain FIR filter, then as a series of frequency domain convolutions (using complex multiplies). Time-domain convolution scales poorly, so larger convolutions benefit from being done in the frequency domain (though the first part is still done in the time domain, to avoid longer delays).
* Don't use al::vector where not neededChris Robinson2023-10-121-5/+3
|
* Remove an unnecessary deque with a custom allocatorChris Robinson2023-10-111-16/+0
|
* Make and use a separate zconvolve method without scalingChris Robinson2023-10-112-6/+89
| | | | | | When you're doing hundreds or thousands of separate zconvolve calls into the same buffer, it's more efficient to do the multiply once at the end instead of in each call.
* Fix conversion warningsChris Robinson2023-10-101-19/+21
|
* Fix array lookup indexChris Robinson2023-10-101-2/+3
|
* Use size_t and uint for non-negative values and indicesChris Robinson2023-10-102-210/+210
|
* Use an anonymous namespace instead of static functionsChris Robinson2023-10-101-194/+202
|
* Combine some VADD(VMUL(... to VMADD(...Chris Robinson2023-10-101-43/+43
|
* Use a bool instead of an int for 0/1Chris Robinson2023-10-091-25/+27
| | | | Also update some comments.
* Cleanup PFFFTChris Robinson2023-10-091-571/+604
| | | | | | Make stylization more consistent. Remove SVMUL (they all simulated it with a LD_PS1 on the scalar). Avoid calling LD_PS1 on the same value in a loop.
* Avoid std::aligned_storage, it's deprecated in newer C++Chris Robinson2023-10-081-3/+3
|
* Remove more type-punning from pffftChris Robinson2023-10-081-52/+63
|
* Clean up some more type-punning in pffftChris Robinson2023-10-081-22/+42
|
* Avoid some type-punning and clean up pffft a bitChris Robinson2023-10-081-161/+148
|
* Update and clarify some commentsChris Robinson2023-10-072-91/+93
|
* Add a generic GCC vector extension fallback for pffftChris Robinson2023-10-061-13/+80
| | | | Also combine multiple allocations into one.
* Improve NEON shufflingChris Robinson2023-10-061-21/+3
|
* Fix x86-64 MSVC checkChris Robinson2023-10-061-1/+1
|
* Include a copy of PFFFTChris Robinson2023-10-062-0/+2201
| | | | | This is a notably faster FFT implementation for 32-bit float signals, provided under a 3-clause BSD license.