public static int cufftPlan3d(cufftHandle plan, int nx, int ny, int nz, int type)
    {
        plan.setDimension(3);
        plan.setType(type);
        plan.setSize(nx, ny, nz);
        return checkResult(cufftPlan3dNative(plan, nx, ny, nz, type));
    }
public static int cufftPlan3d ( cufftHandle plan , int nx , int ny , int nz , int type ) { plan . setDimension ( 3 ) ; plan . setType ( type ) ; plan . setSize ( nx , ny , nz ) ; return checkResult ( cufftPlan3dNative ( plan , nx , ny , nz , type ) ) ; }
<pre>
Creates a 3D FFT plan configuration according to specified signal sizes
and data type.

cufftResult cufftPlan3d( cufftHandle *plan, int nx, int ny, int nz, cufftType type );

This function is the same as cufftPlan2d() except that
it takes a third size parameter nz.

Input
----
plan Pointer to a cufftHandle object
nx The transform size in the X dimension
ny The transform size in the Y dimension
nz The transform size in the Z dimension
type The transform data type (e.g., CUFFT_R2C for real to complex)

Output
----
plan Contains a CUFFT 3D plan handle value

Return Values
----
CUFFT_SETUP_FAILED CUFFT library failed to initialize.
CUFFT_INVALID_SIZE Parameter nx, ny, or nz is not a supported size.
CUFFT_INVALID_TYPE The type parameter is not supported.
CUFFT_ALLOC_FAILED Allocation of GPU resources for the plan failed.
CUFFT_SUCCESS      CUFFT successfully created the FFT plan.

JCUFFT_INTERNAL_ERROR If an internal JCufft error occurred
<pre>