Skip to content

Conversation

@Segfault1602
Copy link

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.

@Alloyed
Copy link

Alloyed commented Jun 22, 2024

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants