| cannam@127 | 1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> | 
| cannam@127 | 2 <html> | 
| cannam@127 | 3 <!-- This manual is for FFTW | 
| cannam@127 | 4 (version 3.3.5, 30 July 2016). | 
| cannam@127 | 5 | 
| cannam@127 | 6 Copyright (C) 2003 Matteo Frigo. | 
| cannam@127 | 7 | 
| cannam@127 | 8 Copyright (C) 2003 Massachusetts Institute of Technology. | 
| cannam@127 | 9 | 
| cannam@127 | 10 Permission is granted to make and distribute verbatim copies of this | 
| cannam@127 | 11 manual provided the copyright notice and this permission notice are | 
| cannam@127 | 12 preserved on all copies. | 
| cannam@127 | 13 | 
| cannam@127 | 14 Permission is granted to copy and distribute modified versions of this | 
| cannam@127 | 15 manual under the conditions for verbatim copying, provided that the | 
| cannam@127 | 16 entire resulting derived work is distributed under the terms of a | 
| cannam@127 | 17 permission notice identical to this one. | 
| cannam@127 | 18 | 
| cannam@127 | 19 Permission is granted to copy and distribute translations of this manual | 
| cannam@127 | 20 into another language, under the above conditions for modified versions, | 
| cannam@127 | 21 except that this permission notice may be stated in a translation | 
| cannam@127 | 22 approved by the Free Software Foundation. --> | 
| cannam@127 | 23 <!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ --> | 
| cannam@127 | 24 <head> | 
| cannam@127 | 25 <title>FFTW 3.3.5: Top</title> | 
| cannam@127 | 26 | 
| cannam@127 | 27 <meta name="description" content="FFTW 3.3.5: Top"> | 
| cannam@127 | 28 <meta name="keywords" content="FFTW 3.3.5: Top"> | 
| cannam@127 | 29 <meta name="resource-type" content="document"> | 
| cannam@127 | 30 <meta name="distribution" content="global"> | 
| cannam@127 | 31 <meta name="Generator" content="makeinfo"> | 
| cannam@127 | 32 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> | 
| cannam@127 | 33 <link href="#Top" rel="start" title="Top"> | 
| cannam@127 | 34 <link href="Concept-Index.html#Concept-Index" rel="index" title="Concept Index"> | 
| cannam@127 | 35 <link href="#SEC_Contents" rel="contents" title="Table of Contents"> | 
| cannam@127 | 36 <link href="../dir/index.html" rel="up" title="(dir)"> | 
| cannam@127 | 37 <link href="Introduction.html#Introduction" rel="next" title="Introduction"> | 
| cannam@127 | 38 <style type="text/css"> | 
| cannam@127 | 39 <!-- | 
| cannam@127 | 40 a.summary-letter {text-decoration: none} | 
| cannam@127 | 41 blockquote.smallquotation {font-size: smaller} | 
| cannam@127 | 42 div.display {margin-left: 3.2em} | 
| cannam@127 | 43 div.example {margin-left: 3.2em} | 
| cannam@127 | 44 div.indentedblock {margin-left: 3.2em} | 
| cannam@127 | 45 div.lisp {margin-left: 3.2em} | 
| cannam@127 | 46 div.smalldisplay {margin-left: 3.2em} | 
| cannam@127 | 47 div.smallexample {margin-left: 3.2em} | 
| cannam@127 | 48 div.smallindentedblock {margin-left: 3.2em; font-size: smaller} | 
| cannam@127 | 49 div.smalllisp {margin-left: 3.2em} | 
| cannam@127 | 50 kbd {font-style:oblique} | 
| cannam@127 | 51 pre.display {font-family: inherit} | 
| cannam@127 | 52 pre.format {font-family: inherit} | 
| cannam@127 | 53 pre.menu-comment {font-family: serif} | 
| cannam@127 | 54 pre.menu-preformatted {font-family: serif} | 
| cannam@127 | 55 pre.smalldisplay {font-family: inherit; font-size: smaller} | 
| cannam@127 | 56 pre.smallexample {font-size: smaller} | 
| cannam@127 | 57 pre.smallformat {font-family: inherit; font-size: smaller} | 
| cannam@127 | 58 pre.smalllisp {font-size: smaller} | 
| cannam@127 | 59 span.nocodebreak {white-space:nowrap} | 
| cannam@127 | 60 span.nolinebreak {white-space:nowrap} | 
| cannam@127 | 61 span.roman {font-family:serif; font-weight:normal} | 
| cannam@127 | 62 span.sansserif {font-family:sans-serif; font-weight:normal} | 
| cannam@127 | 63 ul.no-bullet {list-style: none} | 
| cannam@127 | 64 --> | 
| cannam@127 | 65 </style> | 
| cannam@127 | 66 | 
| cannam@127 | 67 | 
| cannam@127 | 68 </head> | 
| cannam@127 | 69 | 
| cannam@127 | 70 <body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> | 
| cannam@127 | 71 <h1 class="settitle" align="center">FFTW 3.3.5</h1> | 
| cannam@127 | 72 | 
| cannam@127 | 73 | 
| cannam@127 | 74 | 
| cannam@127 | 75 | 
| cannam@127 | 76 | 
| cannam@127 | 77 | 
| cannam@127 | 78 | 
| cannam@127 | 79 | 
| cannam@127 | 80 | 
| cannam@127 | 81 | 
| cannam@127 | 82 | 
| cannam@127 | 83 | 
| cannam@127 | 84 | 
| cannam@127 | 85 | 
| cannam@127 | 86 | 
| cannam@127 | 87 | 
| cannam@127 | 88 | 
| cannam@127 | 89 | 
| cannam@127 | 90 | 
| cannam@127 | 91 | 
| cannam@127 | 92 | 
| cannam@127 | 93 | 
| cannam@127 | 94 | 
| cannam@127 | 95 <a name="SEC_Contents"></a> | 
| cannam@127 | 96 <h2 class="contents-heading">Table of Contents</h2> | 
| cannam@127 | 97 | 
| cannam@127 | 98 <div class="contents"> | 
| cannam@127 | 99 | 
| cannam@127 | 100 <ul class="no-bullet"> | 
| cannam@127 | 101   <li><a name="toc-Introduction-1" href="Introduction.html#Introduction">1 Introduction</a></li> | 
| cannam@127 | 102   <li><a name="toc-Tutorial-1" href="Tutorial.html#Tutorial">2 Tutorial</a> | 
| cannam@127 | 103   <ul class="no-bullet"> | 
| cannam@127 | 104     <li><a name="toc-Complex-One_002dDimensional-DFTs-1" href="Complex-One_002dDimensional-DFTs.html#Complex-One_002dDimensional-DFTs">2.1 Complex One-Dimensional DFTs</a></li> | 
| cannam@127 | 105     <li><a name="toc-Complex-Multi_002dDimensional-DFTs-1" href="Complex-Multi_002dDimensional-DFTs.html#Complex-Multi_002dDimensional-DFTs">2.2 Complex Multi-Dimensional DFTs</a></li> | 
| cannam@127 | 106     <li><a name="toc-One_002dDimensional-DFTs-of-Real-Data-1" href="One_002dDimensional-DFTs-of-Real-Data.html#One_002dDimensional-DFTs-of-Real-Data">2.3 One-Dimensional DFTs of Real Data</a></li> | 
| cannam@127 | 107     <li><a name="toc-Multi_002dDimensional-DFTs-of-Real-Data-1" href="Multi_002dDimensional-DFTs-of-Real-Data.html#Multi_002dDimensional-DFTs-of-Real-Data">2.4 Multi-Dimensional DFTs of Real Data</a></li> | 
| cannam@127 | 108     <li><a name="toc-More-DFTs-of-Real-Data-1" href="More-DFTs-of-Real-Data.html#More-DFTs-of-Real-Data">2.5 More DFTs of Real Data</a> | 
| cannam@127 | 109     <ul class="no-bullet"> | 
| cannam@127 | 110       <li><a name="toc-The-Halfcomplex_002dformat-DFT-1" href="The-Halfcomplex_002dformat-DFT.html#The-Halfcomplex_002dformat-DFT">2.5.1 The Halfcomplex-format DFT</a></li> | 
| cannam@127 | 111       <li><a name="toc-Real-even_002fodd-DFTs-_0028cosine_002fsine-transforms_0029-1" href="Real-even_002fodd-DFTs-_0028cosine_002fsine-transforms_0029.html#Real-even_002fodd-DFTs-_0028cosine_002fsine-transforms_0029">2.5.2 Real even/odd DFTs (cosine/sine transforms)</a></li> | 
| cannam@127 | 112       <li><a name="toc-The-Discrete-Hartley-Transform-1" href="The-Discrete-Hartley-Transform.html#The-Discrete-Hartley-Transform">2.5.3 The Discrete Hartley Transform</a></li> | 
| cannam@127 | 113     </ul></li> | 
| cannam@127 | 114   </ul></li> | 
| cannam@127 | 115   <li><a name="toc-Other-Important-Topics-1" href="Other-Important-Topics.html#Other-Important-Topics">3 Other Important Topics</a> | 
| cannam@127 | 116   <ul class="no-bullet"> | 
| cannam@127 | 117     <li><a name="toc-SIMD-alignment-and-fftw_005fmalloc-1" href="SIMD-alignment-and-fftw_005fmalloc.html#SIMD-alignment-and-fftw_005fmalloc">3.1 SIMD alignment and fftw_malloc</a></li> | 
| cannam@127 | 118     <li><a name="toc-Multi_002ddimensional-Array-Format-1" href="Multi_002ddimensional-Array-Format.html#Multi_002ddimensional-Array-Format">3.2 Multi-dimensional Array Format</a> | 
| cannam@127 | 119     <ul class="no-bullet"> | 
| cannam@127 | 120       <li><a name="toc-Row_002dmajor-Format-1" href="Row_002dmajor-Format.html#Row_002dmajor-Format">3.2.1 Row-major Format</a></li> | 
| cannam@127 | 121       <li><a name="toc-Column_002dmajor-Format-1" href="Column_002dmajor-Format.html#Column_002dmajor-Format">3.2.2 Column-major Format</a></li> | 
| cannam@127 | 122       <li><a name="toc-Fixed_002dsize-Arrays-in-C-1" href="Fixed_002dsize-Arrays-in-C.html#Fixed_002dsize-Arrays-in-C">3.2.3 Fixed-size Arrays in C</a></li> | 
| cannam@127 | 123       <li><a name="toc-Dynamic-Arrays-in-C-1" href="Dynamic-Arrays-in-C.html#Dynamic-Arrays-in-C">3.2.4 Dynamic Arrays in C</a></li> | 
| cannam@127 | 124       <li><a name="toc-Dynamic-Arrays-in-C_002d_002d_002dThe-Wrong-Way" href="Dynamic-Arrays-in-C_002dThe-Wrong-Way.html#Dynamic-Arrays-in-C_002dThe-Wrong-Way">3.2.5 Dynamic Arrays in C—The Wrong Way</a></li> | 
| cannam@127 | 125     </ul></li> | 
| cannam@127 | 126     <li><a name="toc-Words-of-Wisdom_002d_002d_002dSaving-Plans" href="Words-of-Wisdom_002dSaving-Plans.html#Words-of-Wisdom_002dSaving-Plans">3.3 Words of Wisdom—Saving Plans</a></li> | 
| cannam@127 | 127     <li><a name="toc-Caveats-in-Using-Wisdom-1" href="Caveats-in-Using-Wisdom.html#Caveats-in-Using-Wisdom">3.4 Caveats in Using Wisdom</a></li> | 
| cannam@127 | 128   </ul></li> | 
| cannam@127 | 129   <li><a name="toc-FFTW-Reference-1" href="FFTW-Reference.html#FFTW-Reference">4 FFTW Reference</a> | 
| cannam@127 | 130   <ul class="no-bullet"> | 
| cannam@127 | 131     <li><a name="toc-Data-Types-and-Files-1" href="Data-Types-and-Files.html#Data-Types-and-Files">4.1 Data Types and Files</a> | 
| cannam@127 | 132     <ul class="no-bullet"> | 
| cannam@127 | 133       <li><a name="toc-Complex-numbers-1" href="Complex-numbers.html#Complex-numbers">4.1.1 Complex numbers</a></li> | 
| cannam@127 | 134       <li><a name="toc-Precision-1" href="Precision.html#Precision">4.1.2 Precision</a></li> | 
| cannam@127 | 135       <li><a name="toc-Memory-Allocation-1" href="Memory-Allocation.html#Memory-Allocation">4.1.3 Memory Allocation</a></li> | 
| cannam@127 | 136     </ul></li> | 
| cannam@127 | 137     <li><a name="toc-Using-Plans-1" href="Using-Plans.html#Using-Plans">4.2 Using Plans</a></li> | 
| cannam@127 | 138     <li><a name="toc-Basic-Interface-1" href="Basic-Interface.html#Basic-Interface">4.3 Basic Interface</a> | 
| cannam@127 | 139     <ul class="no-bullet"> | 
| cannam@127 | 140       <li><a name="toc-Complex-DFTs-1" href="Complex-DFTs.html#Complex-DFTs">4.3.1 Complex DFTs</a></li> | 
| cannam@127 | 141       <li><a name="toc-Planner-Flags-1" href="Planner-Flags.html#Planner-Flags">4.3.2 Planner Flags</a></li> | 
| cannam@127 | 142       <li><a name="toc-Real_002ddata-DFTs-1" href="Real_002ddata-DFTs.html#Real_002ddata-DFTs">4.3.3 Real-data DFTs</a></li> | 
| cannam@127 | 143       <li><a name="toc-Real_002ddata-DFT-Array-Format-1" href="Real_002ddata-DFT-Array-Format.html#Real_002ddata-DFT-Array-Format">4.3.4 Real-data DFT Array Format</a></li> | 
| cannam@127 | 144       <li><a name="toc-Real_002dto_002dReal-Transforms-1" href="Real_002dto_002dReal-Transforms.html#Real_002dto_002dReal-Transforms">4.3.5 Real-to-Real Transforms</a></li> | 
| cannam@127 | 145       <li><a name="toc-Real_002dto_002dReal-Transform-Kinds-1" href="Real_002dto_002dReal-Transform-Kinds.html#Real_002dto_002dReal-Transform-Kinds">4.3.6 Real-to-Real Transform Kinds</a></li> | 
| cannam@127 | 146     </ul></li> | 
| cannam@127 | 147     <li><a name="toc-Advanced-Interface-1" href="Advanced-Interface.html#Advanced-Interface">4.4 Advanced Interface</a> | 
| cannam@127 | 148     <ul class="no-bullet"> | 
| cannam@127 | 149       <li><a name="toc-Advanced-Complex-DFTs-1" href="Advanced-Complex-DFTs.html#Advanced-Complex-DFTs">4.4.1 Advanced Complex DFTs</a></li> | 
| cannam@127 | 150       <li><a name="toc-Advanced-Real_002ddata-DFTs-1" href="Advanced-Real_002ddata-DFTs.html#Advanced-Real_002ddata-DFTs">4.4.2 Advanced Real-data DFTs</a></li> | 
| cannam@127 | 151       <li><a name="toc-Advanced-Real_002dto_002dreal-Transforms-1" href="Advanced-Real_002dto_002dreal-Transforms.html#Advanced-Real_002dto_002dreal-Transforms">4.4.3 Advanced Real-to-real Transforms</a></li> | 
| cannam@127 | 152     </ul></li> | 
| cannam@127 | 153     <li><a name="toc-Guru-Interface-1" href="Guru-Interface.html#Guru-Interface">4.5 Guru Interface</a> | 
| cannam@127 | 154     <ul class="no-bullet"> | 
| cannam@127 | 155       <li><a name="toc-Interleaved-and-split-arrays-1" href="Interleaved-and-split-arrays.html#Interleaved-and-split-arrays">4.5.1 Interleaved and split arrays</a></li> | 
| cannam@127 | 156       <li><a name="toc-Guru-vector-and-transform-sizes-1" href="Guru-vector-and-transform-sizes.html#Guru-vector-and-transform-sizes">4.5.2 Guru vector and transform sizes</a></li> | 
| cannam@127 | 157       <li><a name="toc-Guru-Complex-DFTs-1" href="Guru-Complex-DFTs.html#Guru-Complex-DFTs">4.5.3 Guru Complex DFTs</a></li> | 
| cannam@127 | 158       <li><a name="toc-Guru-Real_002ddata-DFTs-1" href="Guru-Real_002ddata-DFTs.html#Guru-Real_002ddata-DFTs">4.5.4 Guru Real-data DFTs</a></li> | 
| cannam@127 | 159       <li><a name="toc-Guru-Real_002dto_002dreal-Transforms-1" href="Guru-Real_002dto_002dreal-Transforms.html#Guru-Real_002dto_002dreal-Transforms">4.5.5 Guru Real-to-real Transforms</a></li> | 
| cannam@127 | 160       <li><a name="toc-64_002dbit-Guru-Interface-1" href="64_002dbit-Guru-Interface.html#g_t64_002dbit-Guru-Interface">4.5.6 64-bit Guru Interface</a></li> | 
| cannam@127 | 161     </ul></li> | 
| cannam@127 | 162     <li><a name="toc-New_002darray-Execute-Functions-1" href="New_002darray-Execute-Functions.html#New_002darray-Execute-Functions">4.6 New-array Execute Functions</a></li> | 
| cannam@127 | 163     <li><a name="toc-Wisdom-1" href="Wisdom.html#Wisdom">4.7 Wisdom</a> | 
| cannam@127 | 164     <ul class="no-bullet"> | 
| cannam@127 | 165       <li><a name="toc-Wisdom-Export-1" href="Wisdom-Export.html#Wisdom-Export">4.7.1 Wisdom Export</a></li> | 
| cannam@127 | 166       <li><a name="toc-Wisdom-Import-1" href="Wisdom-Import.html#Wisdom-Import">4.7.2 Wisdom Import</a></li> | 
| cannam@127 | 167       <li><a name="toc-Forgetting-Wisdom-1" href="Forgetting-Wisdom.html#Forgetting-Wisdom">4.7.3 Forgetting Wisdom</a></li> | 
| cannam@127 | 168       <li><a name="toc-Wisdom-Utilities-1" href="Wisdom-Utilities.html#Wisdom-Utilities">4.7.4 Wisdom Utilities</a></li> | 
| cannam@127 | 169     </ul></li> | 
| cannam@127 | 170     <li><a name="toc-What-FFTW-Really-Computes-1" href="What-FFTW-Really-Computes.html#What-FFTW-Really-Computes">4.8 What FFTW Really Computes</a> | 
| cannam@127 | 171     <ul class="no-bullet"> | 
| cannam@127 | 172       <li><a name="toc-The-1d-Discrete-Fourier-Transform-_0028DFT_0029-1" href="The-1d-Discrete-Fourier-Transform-_0028DFT_0029.html#The-1d-Discrete-Fourier-Transform-_0028DFT_0029">4.8.1 The 1d Discrete Fourier Transform (DFT)</a></li> | 
| cannam@127 | 173       <li><a name="toc-The-1d-Real_002ddata-DFT-1" href="The-1d-Real_002ddata-DFT.html#The-1d-Real_002ddata-DFT">4.8.2 The 1d Real-data DFT</a></li> | 
| cannam@127 | 174       <li><a name="toc-1d-Real_002deven-DFTs-_0028DCTs_0029-1" href="1d-Real_002deven-DFTs-_0028DCTs_0029.html#g_t1d-Real_002deven-DFTs-_0028DCTs_0029">4.8.3 1d Real-even DFTs (DCTs)</a></li> | 
| cannam@127 | 175       <li><a name="toc-1d-Real_002dodd-DFTs-_0028DSTs_0029-1" href="1d-Real_002dodd-DFTs-_0028DSTs_0029.html#g_t1d-Real_002dodd-DFTs-_0028DSTs_0029">4.8.4 1d Real-odd DFTs (DSTs)</a></li> | 
| cannam@127 | 176       <li><a name="toc-1d-Discrete-Hartley-Transforms-_0028DHTs_0029-1" href="1d-Discrete-Hartley-Transforms-_0028DHTs_0029.html#g_t1d-Discrete-Hartley-Transforms-_0028DHTs_0029">4.8.5 1d Discrete Hartley Transforms (DHTs)</a></li> | 
| cannam@127 | 177       <li><a name="toc-Multi_002ddimensional-Transforms-1" href="Multi_002ddimensional-Transforms.html#Multi_002ddimensional-Transforms">4.8.6 Multi-dimensional Transforms</a></li> | 
| cannam@127 | 178     </ul></li> | 
| cannam@127 | 179   </ul></li> | 
| cannam@127 | 180   <li><a name="toc-Multi_002dthreaded-FFTW-1" href="Multi_002dthreaded-FFTW.html#Multi_002dthreaded-FFTW">5 Multi-threaded FFTW</a> | 
| cannam@127 | 181   <ul class="no-bullet"> | 
| cannam@127 | 182     <li><a name="toc-Installation-and-Supported-Hardware_002fSoftware-1" href="Installation-and-Supported-Hardware_002fSoftware.html#Installation-and-Supported-Hardware_002fSoftware">5.1 Installation and Supported Hardware/Software</a></li> | 
| cannam@127 | 183     <li><a name="toc-Usage-of-Multi_002dthreaded-FFTW-1" href="Usage-of-Multi_002dthreaded-FFTW.html#Usage-of-Multi_002dthreaded-FFTW">5.2 Usage of Multi-threaded FFTW</a></li> | 
| cannam@127 | 184     <li><a name="toc-How-Many-Threads-to-Use_003f-1" href="How-Many-Threads-to-Use_003f.html#How-Many-Threads-to-Use_003f">5.3 How Many Threads to Use?</a></li> | 
| cannam@127 | 185     <li><a name="toc-Thread-safety-1" href="Thread-safety.html#Thread-safety">5.4 Thread safety</a></li> | 
| cannam@127 | 186   </ul></li> | 
| cannam@127 | 187   <li><a name="toc-Distributed_002dmemory-FFTW-with-MPI-1" href="Distributed_002dmemory-FFTW-with-MPI.html#Distributed_002dmemory-FFTW-with-MPI">6 Distributed-memory FFTW with MPI</a> | 
| cannam@127 | 188   <ul class="no-bullet"> | 
| cannam@127 | 189     <li><a name="toc-FFTW-MPI-Installation-1" href="FFTW-MPI-Installation.html#FFTW-MPI-Installation">6.1 FFTW MPI Installation</a></li> | 
| cannam@127 | 190     <li><a name="toc-Linking-and-Initializing-MPI-FFTW-1" href="Linking-and-Initializing-MPI-FFTW.html#Linking-and-Initializing-MPI-FFTW">6.2 Linking and Initializing MPI FFTW</a></li> | 
| cannam@127 | 191     <li><a name="toc-2d-MPI-example-1" href="2d-MPI-example.html#g_t2d-MPI-example">6.3 2d MPI example</a></li> | 
| cannam@127 | 192     <li><a name="toc-MPI-Data-Distribution-1" href="MPI-Data-Distribution.html#MPI-Data-Distribution">6.4 MPI Data Distribution</a> | 
| cannam@127 | 193     <ul class="no-bullet"> | 
| cannam@127 | 194       <li><a name="toc-Basic-and-advanced-distribution-interfaces-1" href="Basic-and-advanced-distribution-interfaces.html#Basic-and-advanced-distribution-interfaces">6.4.1 Basic and advanced distribution interfaces</a></li> | 
| cannam@127 | 195       <li><a name="toc-Load-balancing-1" href="Load-balancing.html#Load-balancing">6.4.2 Load balancing</a></li> | 
| cannam@127 | 196       <li><a name="toc-Transposed-distributions-1" href="Transposed-distributions.html#Transposed-distributions">6.4.3 Transposed distributions</a></li> | 
| cannam@127 | 197       <li><a name="toc-One_002ddimensional-distributions-1" href="One_002ddimensional-distributions.html#One_002ddimensional-distributions">6.4.4 One-dimensional distributions</a></li> | 
| cannam@127 | 198     </ul></li> | 
| cannam@127 | 199     <li><a name="toc-Multi_002ddimensional-MPI-DFTs-of-Real-Data-1" href="Multi_002ddimensional-MPI-DFTs-of-Real-Data.html#Multi_002ddimensional-MPI-DFTs-of-Real-Data">6.5 Multi-dimensional MPI DFTs of Real Data</a></li> | 
| cannam@127 | 200     <li><a name="toc-Other-multi_002ddimensional-Real_002dData-MPI-Transforms" href="Other-Multi_002ddimensional-Real_002ddata-MPI-Transforms.html#Other-Multi_002ddimensional-Real_002ddata-MPI-Transforms">6.6 Other multi-dimensional Real-Data MPI Transforms</a></li> | 
| cannam@127 | 201     <li><a name="toc-FFTW-MPI-Transposes-1" href="FFTW-MPI-Transposes.html#FFTW-MPI-Transposes">6.7 FFTW MPI Transposes</a> | 
| cannam@127 | 202     <ul class="no-bullet"> | 
| cannam@127 | 203       <li><a name="toc-Basic-distributed_002dtranspose-interface-1" href="Basic-distributed_002dtranspose-interface.html#Basic-distributed_002dtranspose-interface">6.7.1 Basic distributed-transpose interface</a></li> | 
| cannam@127 | 204       <li><a name="toc-Advanced-distributed_002dtranspose-interface-1" href="Advanced-distributed_002dtranspose-interface.html#Advanced-distributed_002dtranspose-interface">6.7.2 Advanced distributed-transpose interface</a></li> | 
| cannam@127 | 205       <li><a name="toc-An-improved-replacement-for-MPI_005fAlltoall-1" href="An-improved-replacement-for-MPI_005fAlltoall.html#An-improved-replacement-for-MPI_005fAlltoall">6.7.3 An improved replacement for MPI_Alltoall</a></li> | 
| cannam@127 | 206     </ul></li> | 
| cannam@127 | 207     <li><a name="toc-FFTW-MPI-Wisdom-1" href="FFTW-MPI-Wisdom.html#FFTW-MPI-Wisdom">6.8 FFTW MPI Wisdom</a></li> | 
| cannam@127 | 208     <li><a name="toc-Avoiding-MPI-Deadlocks-1" href="Avoiding-MPI-Deadlocks.html#Avoiding-MPI-Deadlocks">6.9 Avoiding MPI Deadlocks</a></li> | 
| cannam@127 | 209     <li><a name="toc-FFTW-MPI-Performance-Tips-1" href="FFTW-MPI-Performance-Tips.html#FFTW-MPI-Performance-Tips">6.10 FFTW MPI Performance Tips</a></li> | 
| cannam@127 | 210     <li><a name="toc-Combining-MPI-and-Threads-1" href="Combining-MPI-and-Threads.html#Combining-MPI-and-Threads">6.11 Combining MPI and Threads</a></li> | 
| cannam@127 | 211     <li><a name="toc-FFTW-MPI-Reference-1" href="FFTW-MPI-Reference.html#FFTW-MPI-Reference">6.12 FFTW MPI Reference</a> | 
| cannam@127 | 212     <ul class="no-bullet"> | 
| cannam@127 | 213       <li><a name="toc-MPI-Files-and-Data-Types-1" href="MPI-Files-and-Data-Types.html#MPI-Files-and-Data-Types">6.12.1 MPI Files and Data Types</a></li> | 
| cannam@127 | 214       <li><a name="toc-MPI-Initialization-1" href="MPI-Initialization.html#MPI-Initialization">6.12.2 MPI Initialization</a></li> | 
| cannam@127 | 215       <li><a name="toc-Using-MPI-Plans-1" href="Using-MPI-Plans.html#Using-MPI-Plans">6.12.3 Using MPI Plans</a></li> | 
| cannam@127 | 216       <li><a name="toc-MPI-Data-Distribution-Functions-1" href="MPI-Data-Distribution-Functions.html#MPI-Data-Distribution-Functions">6.12.4 MPI Data Distribution Functions</a></li> | 
| cannam@127 | 217       <li><a name="toc-MPI-Plan-Creation-1" href="MPI-Plan-Creation.html#MPI-Plan-Creation">6.12.5 MPI Plan Creation</a></li> | 
| cannam@127 | 218       <li><a name="toc-MPI-Wisdom-Communication-1" href="MPI-Wisdom-Communication.html#MPI-Wisdom-Communication">6.12.6 MPI Wisdom Communication</a></li> | 
| cannam@127 | 219     </ul></li> | 
| cannam@127 | 220     <li><a name="toc-FFTW-MPI-Fortran-Interface-1" href="FFTW-MPI-Fortran-Interface.html#FFTW-MPI-Fortran-Interface">6.13 FFTW MPI Fortran Interface</a></li> | 
| cannam@127 | 221   </ul></li> | 
| cannam@127 | 222   <li><a name="toc-Calling-FFTW-from-Modern-Fortran-1" href="Calling-FFTW-from-Modern-Fortran.html#Calling-FFTW-from-Modern-Fortran">7 Calling FFTW from Modern Fortran</a> | 
| cannam@127 | 223   <ul class="no-bullet"> | 
| cannam@127 | 224     <li><a name="toc-Overview-of-Fortran-interface-1" href="Overview-of-Fortran-interface.html#Overview-of-Fortran-interface">7.1 Overview of Fortran interface</a> | 
| cannam@127 | 225     <ul class="no-bullet"> | 
| cannam@127 | 226       <li><a name="toc-Extended-and-quadruple-precision-in-Fortran-1" href="Extended-and-quadruple-precision-in-Fortran.html#Extended-and-quadruple-precision-in-Fortran">7.1.1 Extended and quadruple precision in Fortran</a></li> | 
| cannam@127 | 227     </ul></li> | 
| cannam@127 | 228     <li><a name="toc-Reversing-array-dimensions-1" href="Reversing-array-dimensions.html#Reversing-array-dimensions">7.2 Reversing array dimensions</a></li> | 
| cannam@127 | 229     <li><a name="toc-FFTW-Fortran-type-reference-1" href="FFTW-Fortran-type-reference.html#FFTW-Fortran-type-reference">7.3 FFTW Fortran type reference</a></li> | 
| cannam@127 | 230     <li><a name="toc-Plan-execution-in-Fortran-1" href="Plan-execution-in-Fortran.html#Plan-execution-in-Fortran">7.4 Plan execution in Fortran</a></li> | 
| cannam@127 | 231     <li><a name="toc-Allocating-aligned-memory-in-Fortran-1" href="Allocating-aligned-memory-in-Fortran.html#Allocating-aligned-memory-in-Fortran">7.5 Allocating aligned memory in Fortran</a></li> | 
| cannam@127 | 232     <li><a name="toc-Accessing-the-wisdom-API-from-Fortran-1" href="Accessing-the-wisdom-API-from-Fortran.html#Accessing-the-wisdom-API-from-Fortran">7.6 Accessing the wisdom API from Fortran</a> | 
| cannam@127 | 233     <ul class="no-bullet"> | 
| cannam@127 | 234       <li><a name="toc-Wisdom-File-Export_002fImport-from-Fortran-1" href="Wisdom-File-Export_002fImport-from-Fortran.html#Wisdom-File-Export_002fImport-from-Fortran">7.6.1 Wisdom File Export/Import from Fortran</a></li> | 
| cannam@127 | 235       <li><a name="toc-Wisdom-String-Export_002fImport-from-Fortran-1" href="Wisdom-String-Export_002fImport-from-Fortran.html#Wisdom-String-Export_002fImport-from-Fortran">7.6.2 Wisdom String Export/Import from Fortran</a></li> | 
| cannam@127 | 236       <li><a name="toc-Wisdom-Generic-Export_002fImport-from-Fortran-1" href="Wisdom-Generic-Export_002fImport-from-Fortran.html#Wisdom-Generic-Export_002fImport-from-Fortran">7.6.3 Wisdom Generic Export/Import from Fortran</a></li> | 
| cannam@127 | 237     </ul></li> | 
| cannam@127 | 238     <li><a name="toc-Defining-an-FFTW-module-1" href="Defining-an-FFTW-module.html#Defining-an-FFTW-module">7.7 Defining an FFTW module</a></li> | 
| cannam@127 | 239   </ul></li> | 
| cannam@127 | 240   <li><a name="toc-Calling-FFTW-from-Legacy-Fortran-1" href="Calling-FFTW-from-Legacy-Fortran.html#Calling-FFTW-from-Legacy-Fortran">8 Calling FFTW from Legacy Fortran</a> | 
| cannam@127 | 241   <ul class="no-bullet"> | 
| cannam@127 | 242     <li><a name="toc-Fortran_002dinterface-routines-1" href="Fortran_002dinterface-routines.html#Fortran_002dinterface-routines">8.1 Fortran-interface routines</a></li> | 
| cannam@127 | 243     <li><a name="toc-FFTW-Constants-in-Fortran-1" href="FFTW-Constants-in-Fortran.html#FFTW-Constants-in-Fortran">8.2 FFTW Constants in Fortran</a></li> | 
| cannam@127 | 244     <li><a name="toc-FFTW-Execution-in-Fortran-1" href="FFTW-Execution-in-Fortran.html#FFTW-Execution-in-Fortran">8.3 FFTW Execution in Fortran</a></li> | 
| cannam@127 | 245     <li><a name="toc-Fortran-Examples-1" href="Fortran-Examples.html#Fortran-Examples">8.4 Fortran Examples</a></li> | 
| cannam@127 | 246     <li><a name="toc-Wisdom-of-Fortran_003f-1" href="Wisdom-of-Fortran_003f.html#Wisdom-of-Fortran_003f">8.5 Wisdom of Fortran?</a></li> | 
| cannam@127 | 247   </ul></li> | 
| cannam@127 | 248   <li><a name="toc-Upgrading-from-FFTW-version-2-1" href="Upgrading-from-FFTW-version-2.html#Upgrading-from-FFTW-version-2">9 Upgrading from FFTW version 2</a></li> | 
| cannam@127 | 249   <li><a name="toc-Installation-and-Customization-1" href="Installation-and-Customization.html#Installation-and-Customization">10 Installation and Customization</a> | 
| cannam@127 | 250   <ul class="no-bullet"> | 
| cannam@127 | 251     <li><a name="toc-Installation-on-Unix-1" href="Installation-on-Unix.html#Installation-on-Unix">10.1 Installation on Unix</a></li> | 
| cannam@127 | 252     <li><a name="toc-Installation-on-non_002dUnix-systems-1" href="Installation-on-non_002dUnix-systems.html#Installation-on-non_002dUnix-systems">10.2 Installation on non-Unix systems</a></li> | 
| cannam@127 | 253     <li><a name="toc-Cycle-Counters-1" href="Cycle-Counters.html#Cycle-Counters">10.3 Cycle Counters</a></li> | 
| cannam@127 | 254     <li><a name="toc-Generating-your-own-code-1" href="Generating-your-own-code.html#Generating-your-own-code">10.4 Generating your own code</a></li> | 
| cannam@127 | 255   </ul></li> | 
| cannam@127 | 256   <li><a name="toc-Acknowledgments-1" href="Acknowledgments.html#Acknowledgments">11 Acknowledgments</a></li> | 
| cannam@127 | 257   <li><a name="toc-License-and-Copyright-1" href="License-and-Copyright.html#License-and-Copyright">12 License and Copyright</a></li> | 
| cannam@127 | 258   <li><a name="toc-Concept-Index-1" href="Concept-Index.html#Concept-Index">13 Concept Index</a></li> | 
| cannam@127 | 259   <li><a name="toc-Library-Index-1" href="Library-Index.html#Library-Index">14 Library Index</a></li> | 
| cannam@127 | 260 </ul> | 
| cannam@127 | 261 </div> | 
| cannam@127 | 262 | 
| cannam@127 | 263 | 
| cannam@127 | 264 <a name="Top"></a> | 
| cannam@127 | 265 <div class="header"> | 
| cannam@127 | 266 <p> | 
| cannam@127 | 267 Next: <a href="Introduction.html#Introduction" accesskey="n" rel="next">Introduction</a>, Previous: <a href="../dir/index.html" accesskey="p" rel="prev">(dir)</a>, Up: <a href="../dir/index.html" accesskey="u" rel="up">(dir)</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html#Concept-Index" title="Index" rel="index">Index</a>]</p> | 
| cannam@127 | 268 </div> | 
| cannam@127 | 269 <hr> | 
| cannam@127 | 270 <a name="FFTW-User-Manual"></a> | 
| cannam@127 | 271 <h1 class="top">FFTW User Manual</h1> | 
| cannam@127 | 272 <p>Welcome to FFTW, the Fastest Fourier Transform in the West.  FFTW is a | 
| cannam@127 | 273 collection of fast C routines to compute the discrete Fourier transform. | 
| cannam@127 | 274 This manual documents FFTW version 3.3.5. | 
| cannam@127 | 275 </p> | 
| cannam@127 | 276 <table class="menu" border="0" cellspacing="0"> | 
| cannam@127 | 277 <tr><td align="left" valign="top">• <a href="Introduction.html#Introduction" accesskey="1">Introduction</a>:</td><td>  </td><td align="left" valign="top"> | 
| cannam@127 | 278 </td></tr> | 
| cannam@127 | 279 <tr><td align="left" valign="top">• <a href="Tutorial.html#Tutorial" accesskey="2">Tutorial</a>:</td><td>  </td><td align="left" valign="top"> | 
| cannam@127 | 280 </td></tr> | 
| cannam@127 | 281 <tr><td align="left" valign="top">• <a href="Other-Important-Topics.html#Other-Important-Topics" accesskey="3">Other Important Topics</a>:</td><td>  </td><td align="left" valign="top"> | 
| cannam@127 | 282 </td></tr> | 
| cannam@127 | 283 <tr><td align="left" valign="top">• <a href="FFTW-Reference.html#FFTW-Reference" accesskey="4">FFTW Reference</a>:</td><td>  </td><td align="left" valign="top"> | 
| cannam@127 | 284 </td></tr> | 
| cannam@127 | 285 <tr><td align="left" valign="top">• <a href="Multi_002dthreaded-FFTW.html#Multi_002dthreaded-FFTW" accesskey="5">Multi-threaded FFTW</a>:</td><td>  </td><td align="left" valign="top"> | 
| cannam@127 | 286 </td></tr> | 
| cannam@127 | 287 <tr><td align="left" valign="top">• <a href="Distributed_002dmemory-FFTW-with-MPI.html#Distributed_002dmemory-FFTW-with-MPI" accesskey="6">Distributed-memory FFTW with MPI</a>:</td><td>  </td><td align="left" valign="top"> | 
| cannam@127 | 288 </td></tr> | 
| cannam@127 | 289 <tr><td align="left" valign="top">• <a href="Calling-FFTW-from-Modern-Fortran.html#Calling-FFTW-from-Modern-Fortran" accesskey="7">Calling FFTW from Modern Fortran</a>:</td><td>  </td><td align="left" valign="top"> | 
| cannam@127 | 290 </td></tr> | 
| cannam@127 | 291 <tr><td align="left" valign="top">• <a href="Calling-FFTW-from-Legacy-Fortran.html#Calling-FFTW-from-Legacy-Fortran" accesskey="8">Calling FFTW from Legacy Fortran</a>:</td><td>  </td><td align="left" valign="top"> | 
| cannam@127 | 292 </td></tr> | 
| cannam@127 | 293 <tr><td align="left" valign="top">• <a href="Upgrading-from-FFTW-version-2.html#Upgrading-from-FFTW-version-2" accesskey="9">Upgrading from FFTW version 2</a>:</td><td>  </td><td align="left" valign="top"> | 
| cannam@127 | 294 </td></tr> | 
| cannam@127 | 295 <tr><td align="left" valign="top">• <a href="Installation-and-Customization.html#Installation-and-Customization">Installation and Customization</a>:</td><td>  </td><td align="left" valign="top"> | 
| cannam@127 | 296 </td></tr> | 
| cannam@127 | 297 <tr><td align="left" valign="top">• <a href="Acknowledgments.html#Acknowledgments">Acknowledgments</a>:</td><td>  </td><td align="left" valign="top"> | 
| cannam@127 | 298 </td></tr> | 
| cannam@127 | 299 <tr><td align="left" valign="top">• <a href="License-and-Copyright.html#License-and-Copyright">License and Copyright</a>:</td><td>  </td><td align="left" valign="top"> | 
| cannam@127 | 300 </td></tr> | 
| cannam@127 | 301 <tr><td align="left" valign="top">• <a href="Concept-Index.html#Concept-Index">Concept Index</a>:</td><td>  </td><td align="left" valign="top"> | 
| cannam@127 | 302 </td></tr> | 
| cannam@127 | 303 <tr><td align="left" valign="top">• <a href="Library-Index.html#Library-Index">Library Index</a>:</td><td>  </td><td align="left" valign="top"> | 
| cannam@127 | 304 </td></tr> | 
| cannam@127 | 305 </table> | 
| cannam@127 | 306 | 
| cannam@127 | 307 <hr> | 
| cannam@127 | 308 <div class="header"> | 
| cannam@127 | 309 <p> | 
| cannam@127 | 310 Next: <a href="Introduction.html#Introduction" accesskey="n" rel="next">Introduction</a>, Previous: <a href="../dir/index.html" accesskey="p" rel="prev">(dir)</a>, Up: <a href="../dir/index.html" accesskey="u" rel="up">(dir)</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html#Concept-Index" title="Index" rel="index">Index</a>]</p> | 
| cannam@127 | 311 </div> | 
| cannam@127 | 312 | 
| cannam@127 | 313 | 
| cannam@127 | 314 | 
| cannam@127 | 315 </body> | 
| cannam@127 | 316 </html> |