Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Update a comment about FlexArray | Chris Robinson | 2024-01-02 | 1 | -2/+3 |
| | |||||
* | Properly handle the atomic unique_ptr type deleter | Chris Robinson | 2024-01-02 | 1 | -13/+16 |
| | |||||
* | Use an atomic exchange to destruct the atomic unique_ptr | Chris Robinson | 2024-01-02 | 1 | -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 const | Chris Robinson | 2024-01-01 | 1 | -1/+1 |
| | |||||
* | Make and use a (simple) atomic unique_ptr | Chris Robinson | 2024-01-01 | 1 | -0/+66 |
| | |||||
* | Remove an unnecessary member variable | Chris Robinson | 2024-01-01 | 1 | -27/+23 |
| | |||||
* | Use an allocator to allocate uninitilized sublists | Chris Robinson | 2024-01-01 | 2 | -27/+7 |
| | |||||
* | Use standard operator new[] and delete[] for aligned allocations | Chris Robinson | 2024-01-01 | 2 | -51/+4 |
| | |||||
* | Avoid al_calloc/al_free for HrtfStore | Chris Robinson | 2023-12-31 | 1 | -7/+0 |
| | |||||
* | Avoid placement new for FlexArray | Chris Robinson | 2023-12-31 | 1 | -17/+16 |
| | |||||
* | Replace some macros | Chris Robinson | 2023-12-29 | 1 | -36/+44 |
| | |||||
* | Clean up some potential allocation alignment mismatches | Chris Robinson | 2023-12-29 | 2 | -23/+19 |
| | |||||
* | Improve ownership handing with PFFFT | Chris Robinson | 2023-12-27 | 2 | -58/+36 |
| | |||||
* | Try to start being a bit more pointer-owner conscious | Chris Robinson | 2023-12-26 | 3 | -28/+47 |
| | |||||
* | Update span to better check out-of-bounds subspan requests | Chris Robinson | 2023-12-20 | 1 | -37/+77 |
| | |||||
* | Ensure struct members are initialized | Chris Robinson | 2023-12-20 | 2 | -2/+2 |
| | |||||
* | Remove DEF_NEWDEL | Chris Robinson | 2023-12-16 | 1 | -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 needed | Chris Robinson | 2023-12-15 | 1 | -3/+9 |
| | |||||
* | Catch a potential exception to free memory | Chris Robinson | 2023-12-15 | 1 | -3/+13 |
| | |||||
* | Remove unnecessary macro parameter lists | Chris Robinson | 2023-12-15 | 2 | -6/+6 |
| | |||||
* | Properly check if size_t is larger than uint32_t | Chris Robinson | 2023-12-15 | 1 | -1/+1 |
| | |||||
* | Add some noexcept for free functions | Chris Robinson | 2023-12-15 | 2 | -17/+20 |
| | |||||
* | Remove void from empty parameter lists | Chris Robinson | 2023-12-12 | 1 | -1/+1 |
| | | | | Also convert some functions to trailing return types and remove (void) casts. | ||||
* | Much more clang-tidy cleanup | Chris Robinson | 2023-12-10 | 2 | -6/+6 |
| | |||||
* | Refactor FlexArray | Chris Robinson | 2023-12-10 | 3 | -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 cleanup | Chris Robinson | 2023-12-10 | 1 | -4/+4 |
| | | | | And suppress some warnings | ||||
* | Be less messy with PFFFT | Chris Robinson | 2023-12-09 | 2 | -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 warnings | Chris Robinson | 2023-12-08 | 1 | -1/+3 |
| | |||||
* | Fix some clang-tidy warnings | Chris Robinson | 2023-12-08 | 9 | -123/+121 |
| | |||||
* | Make sure the size is large enough for allocating a struct | Chris Robinson | 2023-12-05 | 1 | -1/+2 |
| | |||||
* | Assert that a value is in the expected range | Chris Robinson | 2023-12-04 | 1 | -0/+2 |
| | |||||
* | Remove some unnecessary atomic wrappers | Chris Robinson | 2023-12-03 | 2 | -9/+6 |
| | |||||
* | Handle systems that don't support std::cyl_bessel_i | Chris Robinson | 2023-11-18 | 1 | -2/+45 |
| | |||||
* | Use the C++ standard's regular modified Bessel function | Chris Robinson | 2023-11-08 | 1 | -29/+2 |
| | |||||
* | Precompute a value used multiple times | Chris Robinson | 2023-11-07 | 1 | -19/+9 |
| | |||||
* | Remove an unnecessary struct member | Chris Robinson | 2023-11-04 | 1 | -0/+3 |
| | |||||
* | Remove unnecessary extra macros | Chris Robinson | 2023-10-26 | 1 | -55/+37 |
| | |||||
* | Don't make a float version of complex_fft | Chris Robinson | 2023-10-25 | 2 | -26/+19 |
| | |||||
* | Use a more appropriate type trait to remove a pointer | Chris Robinson | 2023-10-19 | 1 | -1/+1 |
| | |||||
* | Combine some more VADD(VMUL(... into VMADD(... | Chris Robinson | 2023-10-17 | 1 | -48/+44 |
| | |||||
* | Mark some output buffer pointers as RESTRICT | Chris Robinson | 2023-10-16 | 1 | -15/+17 |
| | |||||
* | Replace some function-like macros with real functions | Chris Robinson | 2023-10-16 | 1 | -117/+136 |
| | |||||
* | Avoid some macros that use inputs multiple times | Chris Robinson | 2023-10-16 | 1 | -25/+57 |
| | |||||
* | Constify some parameters | Chris Robinson | 2023-10-16 | 2 | -19/+24 |
| | |||||
* | Use a split filter for the FIR-based UHJ encoders | Chris Robinson | 2023-10-14 | 1 | -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 needed | Chris Robinson | 2023-10-12 | 1 | -5/+3 |
| | |||||
* | Remove an unnecessary deque with a custom allocator | Chris Robinson | 2023-10-11 | 1 | -16/+0 |
| | |||||
* | Make and use a separate zconvolve method without scaling | Chris Robinson | 2023-10-11 | 2 | -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 warnings | Chris Robinson | 2023-10-10 | 1 | -19/+21 |
| | |||||
* | Fix array lookup index | Chris Robinson | 2023-10-10 | 1 | -2/+3 |
| |