From ef7b45451ccd7da1e96683ffd25302c473327176 Mon Sep 17 00:00:00 2001 From: Anton Volkov Date: Tue, 12 Dec 2023 15:38:02 +0100 Subject: [PATCH] Implement a helper alias template for complex types --- dpnp/backend/kernels/dpnp_krnl_fft.cpp | 4 ++-- dpnp/backend/src/dpnp_fptr.hpp | 12 ++++++++++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/dpnp/backend/kernels/dpnp_krnl_fft.cpp b/dpnp/backend/kernels/dpnp_krnl_fft.cpp index fa88ea923153..c450e6e8df6a 100644 --- a/dpnp/backend/kernels/dpnp_krnl_fft.cpp +++ b/dpnp/backend/kernels/dpnp_krnl_fft.cpp @@ -414,7 +414,7 @@ DPCTLSyclEventRef dpnp_fft_fft_c(DPCTLSyclQueueRef q_ref, const size_t norm, const DPCTLEventVectorRef dep_event_vec_ref) { - static_assert(sycl::detail::is_complex<_DataType_output>::value, + static_assert(is_complex<_DataType_output>::value, "Output data type must be a complex type."); DPCTLSyclEventRef event_ref = nullptr; @@ -584,7 +584,7 @@ DPCTLSyclEventRef dpnp_fft_rfft_c(DPCTLSyclQueueRef q_ref, const size_t norm, const DPCTLEventVectorRef dep_event_vec_ref) { - static_assert(sycl::detail::is_complex<_DataType_output>::value, + static_assert(is_complex<_DataType_output>::value, "Output data type must be a complex type."); DPCTLSyclEventRef event_ref = nullptr; diff --git a/dpnp/backend/src/dpnp_fptr.hpp b/dpnp/backend/src/dpnp_fptr.hpp index 459398f76117..eb3c8082f7ac 100644 --- a/dpnp/backend/src/dpnp_fptr.hpp +++ b/dpnp/backend/src/dpnp_fptr.hpp @@ -219,6 +219,18 @@ template using dpnp_remove_cvref_t = typename std::remove_cv_t>; +/** + * A helper alias template to return true value for complex types and false + * otherwise. + */ +template +struct is_complex : public std::integral_constant< + bool, + std::is_same_v<_Tp, std::complex> || + std::is_same_v<_Tp, std::complex>> +{ +}; + /** * @brief "<" comparison with complex types support. *