Skip to content
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

Interoperability of complex types used in LAPACK and (GNU/Intel) BLAS headers with C++ code #58

Open
julianh-siemens opened this issue Jul 4, 2024 · 0 comments

Comments

@julianh-siemens
Copy link

The LAPACK and (GNU/Intel) BLAS headers in FlexiBLAS use the complex data types in the C style, like "float/double complex".
When using these headers in C++ code this can lead to issues since the C++ <complex> header undefines the complex macro:

// Get rid of a macro possibly defined in <complex.h>
#undef complex

The reference LAPACK implementation works around this issue by including different headers depending on which language is used and then defines its own lapack_complex_float and lapack_complex_double types https://github.com/Reference-LAPACK/lapack/blob/master/LAPACKE/include/lapack.h#L43-L77

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

No branches or pull requests

1 participant