-
-
Notifications
You must be signed in to change notification settings - Fork 60
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Clang is enforcing std::complex<> only accepting native floating-point types, find a solution #439
Comments
I'm looking around for alternatives and thinking about requirements for a custom complex class. A std compatible scalar complex class is relatively straightforward. Vectorization could be an important consideration. On the other hand there's a proposal for std::simd to work with std::complex There's a complex specialization in this library by Joel Falcou I don't find anything useful in Boost yet. In fact, I don't find any useful alternative third-party code yet. |
FYI I kicked off a discussion on cpplang slack #general channel, including a response from C++ luminary Howard Hinnant.
|
I will start with the simpler problem of siphoning off the complex regression tests from the individual arithmetic type regression suites and collect them in their own build target, something like BUILD_COMPLEX. We can then also nicely compartmentalize the complex<> library development work. |
First AppleClang and now regular Clang are enforcing that std::complex<> is undefined when the template parameters are not native floating-point types.
This will kill all complex<> use cases of Universal floating-point types, of which there are many:
We need to find a solution to this problem that side-steps this std::complex<> library specification.
The text was updated successfully, but these errors were encountered: