I was checking cuComplex.h and it looks like it doesn’t have a macro like _Complex_I, or _Imaginary_I, or just I, that can be accessed in the device.

Do you guys normally just pass the sqrt(-1) as an argument to your kernel function and do the multiplication yourselves, or cuCimag() already returns the imaginary part of a cufftComplex multiplied by I?