Commit Graph

254 Commits

Author SHA1 Message Date
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
Chris Robinson efed431237 Use a unique_ptr for constructing the bsinc table coefficients 2020-04-07 08:30:37 -07:00
Chris Robinson 2fcc3f3887 Dynamically allocate the temporary bsinc filter table 2020-04-06 17:12:39 -07:00
Chris Robinson baf14aad2a Pass the BSincHeader by reference instead of value 2020-04-05 23:08:02 -07:00
Chris Robinson 25464b2210 Avoid storing the bsinc coefficient deltas before output
This cuts the majority of stack use when generating the coefficients.
2020-04-04 22:04:59 -07:00
Chris Robinson ee89ca1bdd Fix bsinc filter alignment and offsets 2020-04-02 02:13:18 -07:00
Chris Robinson 57109902cd Avoid std::abs in a constexpr function 2020-04-02 01:52:07 -07:00
Chris Robinson 8853519d89 Generate the bsinc tables using constexpr methods
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.
2020-04-02 00:49:19 -07:00
Chris Robinson 6fb59f1182 Avoid using M_PI 2020-04-01 22:22:50 -07:00
Chris Robinson c24d127229 Avoid non-namespace template specialization 2020-03-24 12:03:07 -07:00
Chris Robinson eed8407599 Remove some unused functions 2020-03-23 17:18:11 -07:00
Chris Robinson 6a3b3b180b Add a macro to disable class-specific new/delete 2020-03-23 16:00:50 -07:00
Chris Robinson 5d0f90fed0 Avoid ## in a macro
Cppcheck thinks it's an invalid use of it
2020-03-23 14:26:00 -07:00
Chris Robinson 132a69c03d Use more appropriate types for bitfields 2020-03-22 21:34:50 -07:00
Chris Robinson 46234171d1 Clean up some C++11-isms 2020-03-22 21:15:12 -07:00
Chris Robinson 49b2d703e7 Properly define the new[] and delete[] operators 2020-03-22 13:28:45 -07:00
Chris Robinson 9ce182228d Avoid some pre-C++14 workarounds 2020-03-22 08:51:06 -07:00
Chris Robinson 819763a6c2 Fix some 'ambiguous' calls for newer MSVC 2020-01-06 01:40:21 -08:00
Chris Robinson e9ee6dd239 Ensure a pointer is provided for a templated iterator type 2020-01-05 23:17:26 -08:00
Chris Robinson 06b7c63cef Fix reverse iterators for spans 2019-12-25 21:48:40 -08:00
Chris Robinson 7b3f88c430 Avoid extraneous looping 2019-11-29 05:52:33 -08:00
Chris Robinson c093728ced Move the polyphase resampler to the common lib 2019-11-28 10:54:47 -08:00
Chris Robinson 697da8724f Avoid an extraneous macro and use a simplified type alias 2019-10-27 00:47:33 -07:00
Chris Robinson 0cba99ed1b Avoid static constexpr for arrays iterated over at run-time 2019-10-25 01:43:23 -07:00
Chris Robinson f8ff4e269b Put the pragma defines in a separate header 2019-10-07 15:26:35 -07:00
Chris Robinson 4620912f0f Don't inline the utf8 converters 2019-10-01 23:33:00 -07:00
Chris Robinson 0063f4bfac Add some allocator fields GCC 6.3 seems to want 2019-10-01 01:49:21 -07:00
Chris Robinson 94ff2daafc Use using to avoid extraneous template instantiations 2019-09-29 16:02:25 -07:00
Chris Robinson 95996effaf Move the ifstream wrapper to common 2019-09-22 12:23:41 -07:00
Chris Robinson 2ae1f8b8b6 Revert "Silence some unreachable code warnings on MSVC"
This reverts commit 2ab4883439.

It apparently didn't work at silencing anything.
2019-09-20 14:40:12 -07:00
Chris Robinson 2ab4883439 Silence some unreachable code warnings on MSVC 2019-09-20 14:25:06 -07:00
Chris Robinson 65eb0987e2 Remove and simplify some functions 2019-09-20 13:35:29 -07:00
Chris Robinson 79a621ac47 Simplify some REQUIRES uses 2019-09-20 10:59:12 -07:00
Chris Robinson b9daffe159 Don't clean up more than necessary on destruction 2019-09-20 10:58:29 -07:00
Chris Robinson 24a1058952 Work around MSVC's lack of standard _Pragma support 2019-09-18 13:58:04 -07:00
Chris Robinson b8f64155e9 Silence a couple specific warning instances 2019-09-18 13:24:16 -07:00
Chris Robinson 66565ca7a3 Enable and fix some more warnings 2019-09-18 10:09:04 -07:00
Chris Robinson 2c5c5a5397 Add and use custom string types and functions 2019-09-16 13:45:14 -07:00
Chris Robinson 4b8f78a8d6 Fix a few more GCC warnings 2019-09-14 19:42:54 -07:00
Chris Robinson b212ab9ea2 Add a note about clearing complex_hilbert's imaginary input 2019-09-14 18:37:00 -07:00
Chris Robinson 2c348cecb6 Fix some more implicit conversions noted by GCC 2019-09-14 18:35:23 -07:00
Lopuska 925894fb8b removed unnecessary loop
the caller in fshifter is already doing the same job by putting 0 for the imaginary part
2019-09-15 02:58:53 +02:00
Chris Robinson fa64b1fd6d Fix implicit conversions in the effects 2019-09-14 12:16:51 -07:00
Chris Robinson 5f862a5b49 Clean up sample converter implicit conversions 2019-09-12 17:45:06 -07:00
Chris Robinson b71eb4dafd Don't use [[nodiscard]] in C++11
To silence some warnings in older compilers, and fix an error with newer MSVC.
2019-09-12 04:30:52 -07:00
Chris Robinson 1a9f1e0869 Fix a few more C-style casts 2019-09-11 08:08:23 -07:00