aboutsummaryrefslogtreecommitdiffstats
path: root/common
Commit message (Collapse)AuthorAgeFilesLines
* Update a comment about FlexArrayChris Robinson2024-01-021-2/+3
|
* Properly handle the atomic unique_ptr type deleterChris Robinson2024-01-021-13/+16
|
* Use an atomic exchange to destruct the atomic unique_ptrChris Robinson2024-01-021-1/+5
| | | | | | | | | | A relaxed load isn't required to synchronize with other threads. A thread could exchange the held pointer, and a subsequent load is allowed to get either the pre- or post-swap value (it's only required the value be "complete", not junk or some mix of the old and new value). An exchange, however, is guaranteed to synchronize with itself. If an atomic variable has the value 0, for example, with one thread swapping in the value 1 and another the value 2, the two threads are guaranteed to not both get 0 from the swap.
* Make the flexarray storage span constChris Robinson2024-01-011-1/+1
|
* Make and use a (simple) atomic unique_ptrChris Robinson2024-01-011-0/+66
|
* Remove an unnecessary member variableChris Robinson2024-01-011-27/+23
|
* Use an allocator to allocate uninitilized sublistsChris Robinson2024-01-012-27/+7
|
* Use standard operator new[] and delete[] for aligned allocationsChris Robinson2024-01-012-51/+4
|
* Avoid al_calloc/al_free for HrtfStoreChris Robinson2023-12-311-7/+0
|
* Avoid placement new for FlexArrayChris Robinson2023-12-311-17/+16
|
* Replace some macrosChris Robinson2023-12-291-36/+44
|
* Clean up some potential allocation alignment mismatchesChris Robinson2023-12-292-23/+19
|
* Improve ownership handing with PFFFTChris Robinson2023-12-272-58/+36
|
* Try to start being a bit more pointer-owner consciousChris Robinson2023-12-263-28/+47
|
* 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
|