aboutsummaryrefslogtreecommitdiffstats
path: root/common
Commit message (Collapse)AuthorAgeFilesLines
* Add a close method to the win32 ifstreamChris Robinson2020-11-162-5/+12
|
* Use doubles to calculate the listener matrix translationChris Robinson2020-11-131-39/+70
| | | | | To help stablize sources near the listener, when away from origin. Also clean up some related methods and move them to more appropriate places.
* Avoid bitshifts for loop countingChris Robinson2020-11-081-11/+21
|
* Remove a constexpr that needs C++17Chris Robinson2020-10-231-1/+1
|
* Don't use a template parameter as a variableChris Robinson2020-10-231-6/+17
| | | | And try to silence an MSVC warning about a constant overflow.
* Some cleanup in alspan.hChris Robinson2020-10-231-21/+31
|
* Add some constexprChris Robinson2020-10-231-4/+3
|
* Add some missing constexpr attributesChris Robinson2020-10-202-4/+4
|
* Use inline functions for popcnt and ctz instead of macrosChris Robinson2020-10-131-48/+47
|
* Fix an invalid unicode character in a commentChris Robinson2020-09-141-1/+1
|
* Use inline wrappers to clarify forward/inverse FFTsChris Robinson2020-09-132-5/+18
|
* Partly simplify FFT bit-reversalChris Robinson2020-09-131-8/+4
| | | | | | | | | | | This can almost certainly be improved further, as less than half of the indices really need their reversed bit-pattern calculated and elements swapped (any symetrical bit pattern would just swap with itself, and indices whose reversed bit-pattern has already been traversed is already swapped). It may also prove beneficial to provide the base-2 log of the fft buffer size (number of bits to represent the indices), as that could help make the reversal more efficient with a known bit/loop count.
* Avoid class templates for the POPCNT64/CTZ64 macrosChris Robinson2020-09-011-15/+16
|
* Use a separate structure for buffer storageChris Robinson2020-08-281-0/+1
|
* Allow intrusive_ptr::reset to take a new pointerChris Robinson2020-08-241-2/+2
|
* Ensure enough space is allocated for structs with a FlexArrayChris Robinson2020-08-151-1/+4
|
* Avoid a zero-length array for the FlexArray definitionChris Robinson2020-08-151-5/+4
| | | | | | Newer GCCs are warning about FlexArray being used at the end of another struct. Though not the most ideal to always allocate space for at least 1 element, actual 0-sized uses are rare and for smaller element types.
* Avoid a cmake check for determining the size of longChris Robinson2020-08-131-7/+19
|
* Improve handling main() with UTF-8 args on WindowsChris Robinson2020-08-121-36/+56
|
* Make osme things constexprChris Robinson2020-08-101-17/+15
|
* Fix DIAGNOSTIC_POP for GCC and ClangChris Robinson2020-08-061-1/+1
|
* Don't include headers in a namespace definitionChris Robinson2020-07-231-4/+8
|
* Avoid including windows.h in threads.hChris Robinson2020-06-282-9/+9
|
* Workaround a MinGW quirkChris Robinson2020-06-261-0/+1
| | | | | Sometimes MinGW defines strncasecmp to _strnicmp in string.h, which can cause problems with al::strncasecmp if it's not consistently replaced.
* Simplify the aligned over-allocation strategyChris Robinson2020-06-071-15/+14
|
* Avoid explicit checks for _BitScanForward[64]Chris Robinson2020-06-071-9/+10
|
* Use an enum for FamCountChris Robinson2020-05-191-3/+3
|
* Check that aligned_alloc is available with cmakeChris Robinson2020-05-191-2/+2
| | | | | | | | Some compilers support C++17 even on targets that lack required functions. Projects that want to force C++17 will then run into a problem with std::aligned_alloc not existing on those targets, so it needs to be explicitly checked for. The alternative is to simply never use it even when it would be available.
* Fix some standard callsChris Robinson2020-05-161-9/+7
|
* Move the bsinc tables out of commonChris Robinson2020-05-113-373/+0
|
* Revert "Fix the FFT half point for the shifter effects"Chris Robinson2020-05-091-1/+1
| | | | This reverts commit 12bb5a47cda0ef6ec1ced73ccf5d267a71f9e710.
* Fix the FFT half point for the shifter effectsChris Robinson2020-05-081-1/+1
|
* Fix subspan extent calculationChris Robinson2020-04-281-1/+1
|
* Silence a type conversion warning with GCCChris Robinson2020-04-141-2/+3
|
* Avoid inlining some potentially costly callsChris Robinson2020-04-142-0/+4
|
* Use a common base for a couple exceptionsChris Robinson2020-04-102-14/+10
|
* Apply some alloc and alignment attributesChris Robinson2020-04-101-16/+4
|
* Make a default/empty constructor noexceptChris Robinson2020-04-091-1/+1
|
* Use a unique_ptr for constructing the bsinc table coefficientsChris Robinson2020-04-071-25/+22
|
* Dynamically allocate the temporary bsinc filter tableChris Robinson2020-04-061-2/+7
|
* Pass the BSincHeader by reference instead of valueChris Robinson2020-04-051-2/+2
|
* Avoid storing the bsinc coefficient deltas before outputChris Robinson2020-04-041-48/+49
| | | | This cuts the majority of stack use when generating the coefficients.
* Fix bsinc filter alignment and offsetsChris Robinson2020-04-021-3/+3
|
* Avoid std::abs in a constexpr functionChris Robinson2020-04-021-1/+1
|
* Generate the bsinc tables using constexpr methodsChris Robinson2020-04-023-0/+370
| | | | | | | | All the methods used should be compliant with C++14 constexpr rules. However, the number of scales and phases cause GenerateBSincCoeffs to reach the allowed step limit, preventing full compile-time generation. It's not a terribly big deal, it'll generate them very quickly when loading, but it does prevent using shared read-only memory pages.
* Avoid using M_PIChris Robinson2020-04-012-16/+9
|
* Avoid non-namespace template specializationChris Robinson2020-03-241-7/+11
|
* Remove some unused functionsChris Robinson2020-03-231-64/+3
|
* Add a macro to disable class-specific new/deleteChris Robinson2020-03-231-0/+6
|
* Avoid ## in a macroChris Robinson2020-03-231-6/+6
| | | | Cppcheck thinks it's an invalid use of it