如何打印 cufftDoubleComplex 类型的变量?
How can I print a variable of type cufftDoubleComplex?
如何在 CUDA C++ 中打印 cufftDoubleComplex
类型的变量,我尝试使用 printf
:
cufftDoubleComplex Fd;
printf("%f", Fd); //not working
但是我遇到了这个错误并且在运行时它没有工作:
warning C4477: 'printf' : format string '%f' requires an argument of type 'double', but variadic argument 1 has type 'cufftDoubleComplex'
如何打印?在 printf
中使用的正确格式字符串是什么?
它将与 double[2] 布局兼容,因此只需转换它并打印两个字段:
printf("re: %f im: %f\n", ((double*)&Fd)[0], ((double*)&Fd)[1]);
这不是"safe safe",但由于 CuFFT 承诺与 fftw 兼容,因此保证类型的布局以这种方式兼容。
编辑,这是更可取的,cufftDoubleComplex 是 cuDoubleComplex 的类型定义,它只有两个字段 x、y(错误名称):
printf("re: %f im: %f\n", Fd.x, Fd.y);
如何在 CUDA C++ 中打印 cufftDoubleComplex
类型的变量,我尝试使用 printf
:
cufftDoubleComplex Fd;
printf("%f", Fd); //not working
但是我遇到了这个错误并且在运行时它没有工作:
warning C4477: 'printf' : format string '%f' requires an argument of type 'double', but variadic argument 1 has type 'cufftDoubleComplex'
如何打印?在 printf
中使用的正确格式字符串是什么?
它将与 double[2] 布局兼容,因此只需转换它并打印两个字段:
printf("re: %f im: %f\n", ((double*)&Fd)[0], ((double*)&Fd)[1]);
这不是"safe safe",但由于 CuFFT 承诺与 fftw 兼容,因此保证类型的布局以这种方式兼容。
编辑,这是更可取的,cufftDoubleComplex 是 cuDoubleComplex 的类型定义,它只有两个字段 x、y(错误名称):
printf("re: %f im: %f\n", Fd.x, Fd.y);