fftw_plan fftw_plan_guru_r2r(int rank, const fftw_iodim *dims,
                                  int howmany_rank,
                                  const fftw_iodim *howmany_dims,
                                  double *in, double *out,
                                  const fftw_r2r_kind *kind,
                                  unsigned flags);
   
Plan a real-to-real (r2r) multi-dimensional FFTW_FORWARD
transform with transform dimensions given by (rank, dims)
over a multi-dimensional vector (loop) of dimensions
(howmany_rank, howmany_dims).  dims and
howmany_dims should point to fftw_iodim arrays of length
rank and howmany_rank, respectively.
   
The transform kind of each dimension is given by the kind
parameter, which should point to an array of length rank.  Valid
fftw_r2r_kind constants are given in Real-to-Real Transform Kinds.
   
in and out point to the real input and output arrays; they
may be the same, indicating an in-place transform.
   
flags is a bitwise OR (‘|’) of zero or more planner flags,
as defined in Planner Flags.