code: public static int cufftPlan1d(cufftHandle plan, int nx, int type, int batch)
      {
          plan.setDimension(1);
          plan.setType(type);
          plan.setSize(nx, 0, 0);
          plan.setBatchSize(batch);
          return checkResult(cufftPlan1dNative(plan, nx, type, batch));
      }
docs: <pre>
  Creates a 1D FFT plan configuration for a specified signal size and data
  type.
  
  cufftResult cufftPlan1d( cufftHandle *plan, int nx, cufftType type, int batch );
  
  The batch input parameter tells CUFFT how many 1D transforms to configure.
  
  Input
  ----
  plan  Pointer to a cufftHandle object
  nx    The transform size (e.g., 256 for a 256-point FFT)
  type  The transform data type (e.g., CUFFT_C2C for complex to complex)
  batch Number of transforms of size nx
  
  Output
  ----
  plan     Contains a CUFFT 1D plan handle value
  
  Return Values
  ----
  CUFFT_SETUP_FAILED CUFFT library failed to initialize.
  CUFFT_INVALID_SIZE The nx parameter 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>
  NOTE: Batch sizes other than 1 for cufftPlan1d() have been
  deprecated as of CUDA 6.0RC. Use cufftPlanMany() for
  multiple batch execution.