11 #include <type_traits>
16 inline namespace _V1 {
20 namespace experimental {
26 template <
class _Tp>
struct is_genfloat;
28 template <
class _Tp,
class _Enable =
void>
class complex;
31 class complex<_Tp, typename
std::enable_if_t<is_genfloat<_Tp>::value>>;
39 : std::integral_constant<bool, std::is_same_v<_Tp, double> ||
40 std::is_same_v<_Tp, float> ||
41 std::is_same_v<_Tp, sycl::half>> {};
45 : std::integral_constant<bool,
46 std::is_same_v<_Tp, complex<double>> ||
47 std::is_same_v<_Tp, complex<float>> ||
48 std::is_same_v<_Tp, complex<sycl::half>>> {};
54 #define _SYCL_EXT_CPLX_INLINE_VISIBILITY \
55 inline __attribute__((__visibility__("hidden"), __always_inline__))