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 12bb5a47cda0ef6ec1ced73ccf5d267a71f9e710.
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