Skip to content

[SYCL][COMPLEX] Support for complex_literal seems to not available #8363

Closed
@abagusetty

Description

@abagusetty

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), "");
  ^              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions