From bf5fcdc8600adef00857d4600bbb8cd551654f8c Mon Sep 17 00:00:00 2001 From: Peter Boyle Date: Wed, 27 May 2026 16:05:37 -0400 Subject: [PATCH] Ease of use for std::complex interchangable with thrust --- Grid/simd/Simd.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Grid/simd/Simd.h b/Grid/simd/Simd.h index 428981fa..be60a99a 100644 --- a/Grid/simd/Simd.h +++ b/Grid/simd/Simd.h @@ -113,6 +113,14 @@ accelerator_inline RealD adj(const RealD & r){ return r; } accelerator_inline ComplexD adj(const ComplexD& r){ return(conjugate(r)); } accelerator_inline ComplexF adj(const ComplexF& r ){ return(conjugate(r)); } +#if defined(GRID_CUDA) || defined(GRID_HIP) +//Provide for convenience +accelerator_inline std::complex conjugate(const std::complex& r){ return(conj(r)); } +accelerator_inline std::complex conjugate(const std::complex& r) { return(conj(r)); } +accelerator_inline std::complex adj(const std::complex& r) { return(conj(r)); } +accelerator_inline std::complex adj(const std::complex& r) { return(conj(r)); } +#endif + accelerator_inline RealF real(const RealF & r){ return r; } accelerator_inline RealD real(const RealD & r){ return r; } accelerator_inline RealF real(const ComplexF & r){ return r.real(); }