Closed
Description
It looks like the complex_literals
operator "i"
is being deduced as std::complex
instead of sycl::complex
Reproducer
#define SYCL_EXT_ONEAPI_COMPLEX
#include <sycl/ext/oneapi/experimental/sycl_complex.hpp>
int main() {
sycl::ext::oneapi::experimental::complex<double> V{2.0, 3.0};
static_assert((std::is_same<decltype(0.3i), decltype(V)>::value), "");
}
Error:
abagusetty@uan-0002 /lus/gila/projects/Aurora_deployment/abagusetty $ clang++ -fsycl sycl_cplx.cpp
sycl_cplx.cpp:6:3: error: static assertion failed due to requirement 'std::is_same<_Complex double, sycl::ext::oneapi::experimental::complex<double>>::value':
static_assert((std::is_same<decltype(3i), decltype(V)>::value), "");
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~