Commit Graph

299 Commits

Author SHA1 Message Date
Chris Robinson 1327aca9d7 Don't use templates unnecessarily 2021-01-01 15:35:14 -08:00
Chris Robinson 4c0f77c13e Remove some unnecessary constructors 2020-12-27 06:43:59 -08:00
Chris Robinson 7833cfa8de Make FlexArray trivially destructible when possible 2020-12-27 04:29:54 -08:00
Chris Robinson eedc42890f Move alexcpt to core 2020-12-24 22:49:55 -08:00
David CARLIER 8c4c14ea73 fast_roundf implementations in asm for ARM64. (#511) 2020-12-24 22:48:57 -08:00
Chris Robinson 7d2e21334c Move the AL error enum out of base_exception 2020-12-17 16:46:21 -08:00
Chris Robinson f38919eecc Avoid using a hidden unnamed template parameter 2020-12-15 23:47:47 -08:00
Chris Robinson 1679ab937e Reorder definitions to keep them near each other 2020-12-05 06:40:06 -08:00
Chris Robinson 16c7d1816d Remove some unnecessary inlines and includes 2020-12-05 06:30:13 -08:00
Chris Robinson 7485e402c1 Avoid a REQUIRES macro for SFINAE 2020-12-05 05:57:18 -08:00
Chris Robinson 8a352d25f9 Move the ringbuffer to common 2020-12-05 03:28:19 -08:00
Chris Robinson 630a3b8cbd Move lerp/cubic to alnumeric.h 2020-12-04 11:15:50 -08:00
Chris Robinson 645d354ffa Add a close method to the win32 ifstream 2020-11-16 14:51:50 -08:00
Chris Robinson e64c52ce8c Use doubles to calculate the listener matrix translation
To help stablize sources near the listener, when away from origin. Also clean
up some related methods and move them to more appropriate places.
2020-11-13 23:33:40 -08:00
Chris Robinson db6d6d68b4 Avoid bitshifts for loop counting 2020-11-08 07:46:10 -08:00
Chris Robinson 6de861a75c Remove a constexpr that needs C++17 2020-10-23 20:00:09 -07:00
Chris Robinson 966c4498d4 Don't use a template parameter as a variable
And try to silence an MSVC warning about a constant overflow.
2020-10-23 19:53:07 -07:00
Chris Robinson 556321f18d Some cleanup in alspan.h 2020-10-23 19:03:37 -07:00
Chris Robinson 7cb1cc8ab5 Add some constexpr 2020-10-23 18:40:54 -07:00
Chris Robinson a3ea46f773 Add some missing constexpr attributes 2020-10-20 11:40:27 -07:00
Chris Robinson 303ca3af72 Use inline functions for popcnt and ctz instead of macros 2020-10-13 01:21:44 -07:00
Chris Robinson d86d882d8b Fix an invalid unicode character in a comment 2020-09-14 02:52:16 -07:00
Chris Robinson 0974b6b47c Use inline wrappers to clarify forward/inverse FFTs 2020-09-13 04:18:40 -07:00
Chris Robinson 9a883f5046 Partly simplify FFT bit-reversal
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.
2020-09-13 03:33:52 -07:00
Chris Robinson fe329c2af2 Avoid class templates for the POPCNT64/CTZ64 macros 2020-09-01 15:55:48 -07:00
Chris Robinson 1f486f820e Use a separate structure for buffer storage 2020-08-28 00:09:46 -07:00
Chris Robinson 01f76f2b67 Allow intrusive_ptr::reset to take a new pointer 2020-08-24 14:09:26 -07:00
Chris Robinson 34b29a48a4 Ensure enough space is allocated for structs with a FlexArray 2020-08-15 23:53:43 -07:00
Chris Robinson 23259b48dd Avoid a zero-length array for the FlexArray definition
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.
2020-08-15 23:22:10 -07:00
Chris Robinson 8e7199cbb6 Avoid a cmake check for determining the size of long 2020-08-13 14:04:29 -07:00
Chris Robinson fd52c828a9 Improve handling main() with UTF-8 args on Windows 2020-08-12 17:40:00 -07:00
Chris Robinson c549797af0 Make osme things constexpr 2020-08-10 15:11:52 -07:00
Chris Robinson 02f8419663 Fix DIAGNOSTIC_POP for GCC and Clang 2020-08-06 23:20:20 -07:00
Chris Robinson ac1fc1b60a Don't include headers in a namespace definition 2020-07-23 09:03:47 -07:00
Chris Robinson f81558c948 Avoid including windows.h in threads.h 2020-06-28 12:55:55 -07:00
Chris Robinson 31791c9997 Workaround a MinGW quirk
Sometimes MinGW defines strncasecmp to _strnicmp in string.h, which can cause
problems with al::strncasecmp if it's not consistently replaced.
2020-06-26 05:39:26 -07:00
Chris Robinson b7b52ec28b Simplify the aligned over-allocation strategy 2020-06-07 15:40:04 -07:00
Chris Robinson 9322c86e2f Avoid explicit checks for _BitScanForward[64] 2020-06-07 14:15:48 -07:00
Chris Robinson c5e90ed6c7 Use an enum for FamCount 2020-05-19 12:15:57 -07:00
Chris Robinson 463591663c Check that aligned_alloc is available with cmake
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.
2020-05-19 08:13:13 -07:00
Chris Robinson 0f81fafc62 Fix some standard calls 2020-05-16 01:21:09 -07:00
Chris Robinson 2574b98f8a Move the bsinc tables out of common 2020-05-11 02:24:08 -07:00
Chris Robinson 2fb4ac1621 Revert "Fix the FFT half point for the shifter effects"
This reverts commit 12bb5a47cd.
2020-05-09 16:44:29 -07:00
Chris Robinson 12bb5a47cd Fix the FFT half point for the shifter effects 2020-05-08 01:39:48 -07:00
Chris Robinson 047f1666d5 Fix subspan extent calculation 2020-04-28 19:58:17 -07:00
Chris Robinson 78e789bf7b Silence a type conversion warning with GCC 2020-04-14 12:05:54 -07:00
Chris Robinson 6ac5816354 Avoid inlining some potentially costly calls 2020-04-14 11:50:59 -07:00
Chris Robinson f7380a44d4 Use a common base for a couple exceptions 2020-04-10 15:12:57 -07:00
Chris Robinson e123fa0ec3 Apply some alloc and alignment attributes 2020-04-10 11:05:25 -07:00
Chris Robinson 97c11577cd Make a default/empty constructor noexcept 2020-04-09 19:32:02 -07:00