Chris@19: Chris@19:
Chris@19:Chris@19: Next: Fixed-size Arrays in C, Chris@19: Previous: Row-major Format, Chris@19: Up: Multi-dimensional Array Format Chris@19:
Chris@19: Readers from the Fortran world are used to arrays stored in Chris@19: column-major order (sometimes called “Fortran order”). This is Chris@19: essentially the exact opposite of row-major order in that, here, the Chris@19: first dimension's index varies most quickly. Chris@19: Chris@19:
If you have an array stored in column-major order and wish to
Chris@19: transform it using FFTW, it is quite easy to do. When creating the
Chris@19: plan, simply pass the dimensions of the array to the planner in
Chris@19: reverse order. For example, if your array is a rank three
Chris@19: N x M x L
matrix in column-major order, you should pass the
Chris@19: dimensions of the array as if it were an L x M x N
matrix
Chris@19: (which it is, from the perspective of FFTW). This is done for you
Chris@19: automatically by the FFTW legacy-Fortran interface
Chris@19: (see Calling FFTW from Legacy Fortran), but you must do it
Chris@19: manually with the modern Fortran interface (see Reversing array dimensions).
Chris@19:
Chris@19:
Chris@19:
Chris@19:
Chris@19: