Chris@10: <html lang="en"> Chris@10: <head> Chris@10: <title>Column-major Format - FFTW 3.3.3</title> Chris@10: <meta http-equiv="Content-Type" content="text/html"> Chris@10: <meta name="description" content="FFTW 3.3.3"> Chris@10: <meta name="generator" content="makeinfo 4.13"> Chris@10: <link title="Top" rel="start" href="index.html#Top"> Chris@10: <link rel="up" href="Multi_002ddimensional-Array-Format.html#Multi_002ddimensional-Array-Format" title="Multi-dimensional Array Format"> Chris@10: <link rel="prev" href="Row_002dmajor-Format.html#Row_002dmajor-Format" title="Row-major Format"> Chris@10: <link rel="next" href="Fixed_002dsize-Arrays-in-C.html#Fixed_002dsize-Arrays-in-C" title="Fixed-size Arrays in C"> Chris@10: <link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage"> Chris@10: <!-- Chris@10: This manual is for FFTW Chris@10: (version 3.3.3, 25 November 2012). Chris@10: Chris@10: Copyright (C) 2003 Matteo Frigo. Chris@10: Chris@10: Copyright (C) 2003 Massachusetts Institute of Technology. Chris@10: Chris@10: Permission is granted to make and distribute verbatim copies of Chris@10: this manual provided the copyright notice and this permission Chris@10: notice are preserved on all copies. Chris@10: Chris@10: Permission is granted to copy and distribute modified versions of Chris@10: this manual under the conditions for verbatim copying, provided Chris@10: that the entire resulting derived work is distributed under the Chris@10: terms of a permission notice identical to this one. Chris@10: Chris@10: Permission is granted to copy and distribute translations of this Chris@10: manual into another language, under the above conditions for Chris@10: modified versions, except that this permission notice may be Chris@10: stated in a translation approved by the Free Software Foundation. Chris@10: --> Chris@10: <meta http-equiv="Content-Style-Type" content="text/css"> Chris@10: <style type="text/css"><!-- Chris@10: pre.display { font-family:inherit } Chris@10: pre.format { font-family:inherit } Chris@10: pre.smalldisplay { font-family:inherit; font-size:smaller } Chris@10: pre.smallformat { font-family:inherit; font-size:smaller } Chris@10: pre.smallexample { font-size:smaller } Chris@10: pre.smalllisp { font-size:smaller } Chris@10: span.sc { font-variant:small-caps } Chris@10: span.roman { font-family:serif; font-weight:normal; } Chris@10: span.sansserif { font-family:sans-serif; font-weight:normal; } Chris@10: --></style> Chris@10: </head> Chris@10: <body> Chris@10: <div class="node"> Chris@10: <a name="Column-major-Format"></a> Chris@10: <a name="Column_002dmajor-Format"></a> Chris@10: <p> Chris@10: Next: <a rel="next" accesskey="n" href="Fixed_002dsize-Arrays-in-C.html#Fixed_002dsize-Arrays-in-C">Fixed-size Arrays in C</a>, Chris@10: Previous: <a rel="previous" accesskey="p" href="Row_002dmajor-Format.html#Row_002dmajor-Format">Row-major Format</a>, Chris@10: Up: <a rel="up" accesskey="u" href="Multi_002ddimensional-Array-Format.html#Multi_002ddimensional-Array-Format">Multi-dimensional Array Format</a> Chris@10: <hr> Chris@10: </div> Chris@10: Chris@10: <h4 class="subsection">3.2.2 Column-major Format</h4> Chris@10: Chris@10: <p><a name="index-column_002dmajor-118"></a> Chris@10: Readers from the Fortran world are used to arrays stored in Chris@10: <dfn>column-major</dfn> order (sometimes called “Fortran order”). This is Chris@10: essentially the exact opposite of row-major order in that, here, the Chris@10: <em>first</em> dimension's index varies most quickly. Chris@10: Chris@10: <p>If you have an array stored in column-major order and wish to Chris@10: transform it using FFTW, it is quite easy to do. When creating the Chris@10: plan, simply pass the dimensions of the array to the planner in Chris@10: <em>reverse order</em>. For example, if your array is a rank three Chris@10: <code>N x M x L</code> matrix in column-major order, you should pass the Chris@10: dimensions of the array as if it were an <code>L x M x N</code> matrix Chris@10: (which it is, from the perspective of FFTW). This is done for you Chris@10: <em>automatically</em> by the FFTW legacy-Fortran interface Chris@10: (see <a href="Calling-FFTW-from-Legacy-Fortran.html#Calling-FFTW-from-Legacy-Fortran">Calling FFTW from Legacy Fortran</a>), but you must do it Chris@10: manually with the modern Fortran interface (see <a href="Reversing-array-dimensions.html#Reversing-array-dimensions">Reversing array dimensions</a>). Chris@10: <a name="index-Fortran-interface-119"></a> Chris@10: <!-- =========> --> Chris@10: Chris@10: </body></html> Chris@10: