DaisySP
DaisySP copied to clipboard
Fix cmake build on windows
CMake build was broken on windows due to M_E being undeclared. Fix is to define _USE_MATH_DEFINES on windows when building the library.
found this, and one other thing on my attempt to build msvc. in ladder.cpp
__attribute__((optimize("unroll-loops"))) void
void LadderFilter::ProcessBlock(float* buf, size_t size)
{
for(size_t i = 0; i < size; i++)
{
buf[i] = Process(buf[i]);
}
}
attribute is gcc-specific, causes msvc to not compile, and will be ignored on clang. alternatives:
- put unroll-loops in a macro that is empty on non-gcc platforms
- take size as a template parameter to reliably unroll the loop at compile time, example: https://stackoverflow.com/q/67599943