furnace/extern/fftw/doc/html/index.html

305 lines
25 KiB
HTML
Raw Normal View History

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- This manual is for FFTW
(version 3.3.10, 10 December 2020).
Copyright (C) 2003 Matteo Frigo.
Copyright (C) 2003 Massachusetts Institute of Technology.
Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice are
preserved on all copies.
Permission is granted to copy and distribute modified versions of this
manual under the conditions for verbatim copying, provided that the
entire resulting derived work is distributed under the terms of a
permission notice identical to this one.
Permission is granted to copy and distribute translations of this manual
into another language, under the above conditions for modified versions,
except that this permission notice may be stated in a translation
approved by the Free Software Foundation. -->
<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Top (FFTW 3.3.10)</title>
<meta name="description" content="Top (FFTW 3.3.10)">
<meta name="keywords" content="Top (FFTW 3.3.10)">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<link href="#Top" rel="start" title="Top">
<link href="Concept-Index.html" rel="index" title="Concept Index">
<link href="#SEC_Contents" rel="contents" title="Table of Contents">
<link href="../dir/index.html" rel="up" title="(dir)">
<link href="Introduction.html" rel="next" title="Introduction">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.indentedblock {margin-right: 0em}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
kbd {font-style: oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
span.nolinebreak {white-space: nowrap}
span.roman {font-family: initial; font-weight: normal}
span.sansserif {font-family: sans-serif; font-weight: normal}
ul.no-bullet {list-style: none}
-->
</style>
</head>
<body lang="en">
<h1 class="settitle" align="center">FFTW 3.3.10</h1>
<span id="SEC_Contents"></span>
<h2 class="contents-heading">Table of Contents</h2>
<div class="contents">
<ul class="no-bullet">
<li><a id="toc-Introduction-1" href="Introduction.html#Introduction">1 Introduction</a></li>
<li><a id="toc-Tutorial-1" href="Tutorial.html#Tutorial">2 Tutorial</a>
<ul class="no-bullet">
<li><a id="toc-Complex-One_002dDimensional-DFTs-1" href="Complex-One_002dDimensional-DFTs.html#Complex-One_002dDimensional-DFTs">2.1 Complex One-Dimensional DFTs</a></li>
<li><a id="toc-Complex-Multi_002dDimensional-DFTs-1" href="Complex-Multi_002dDimensional-DFTs.html#Complex-Multi_002dDimensional-DFTs">2.2 Complex Multi-Dimensional DFTs</a></li>
<li><a id="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>
<li><a id="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>
<li><a id="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>
<ul class="no-bullet">
<li><a id="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>
<li><a id="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>
<li><a id="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>
</ul></li>
</ul></li>
<li><a id="toc-Other-Important-Topics-1" href="Other-Important-Topics.html#Other-Important-Topics">3 Other Important Topics</a>
<ul class="no-bullet">
<li><a id="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>
<li><a id="toc-Multi_002ddimensional-Array-Format-1" href="Multi_002ddimensional-Array-Format.html#Multi_002ddimensional-Array-Format">3.2 Multi-dimensional Array Format</a>
<ul class="no-bullet">
<li><a id="toc-Row_002dmajor-Format-1" href="Row_002dmajor-Format.html#Row_002dmajor-Format">3.2.1 Row-major Format</a></li>
<li><a id="toc-Column_002dmajor-Format-1" href="Column_002dmajor-Format.html#Column_002dmajor-Format">3.2.2 Column-major Format</a></li>
<li><a id="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>
<li><a id="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>
<li><a id="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&mdash;The Wrong Way</a></li>
</ul></li>
<li><a id="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&mdash;Saving Plans</a></li>
<li><a id="toc-Caveats-in-Using-Wisdom-1" href="Caveats-in-Using-Wisdom.html#Caveats-in-Using-Wisdom">3.4 Caveats in Using Wisdom</a></li>
</ul></li>
<li><a id="toc-FFTW-Reference-1" href="FFTW-Reference.html#FFTW-Reference">4 FFTW Reference</a>
<ul class="no-bullet">
<li><a id="toc-Data-Types-and-Files-1" href="Data-Types-and-Files.html#Data-Types-and-Files">4.1 Data Types and Files</a>
<ul class="no-bullet">
<li><a id="toc-Complex-numbers-1" href="Complex-numbers.html#Complex-numbers">4.1.1 Complex numbers</a></li>
<li><a id="toc-Precision-1" href="Precision.html#Precision">4.1.2 Precision</a></li>
<li><a id="toc-Memory-Allocation-1" href="Memory-Allocation.html#Memory-Allocation">4.1.3 Memory Allocation</a></li>
</ul></li>
<li><a id="toc-Using-Plans-1" href="Using-Plans.html#Using-Plans">4.2 Using Plans</a></li>
<li><a id="toc-Basic-Interface-1" href="Basic-Interface.html#Basic-Interface">4.3 Basic Interface</a>
<ul class="no-bullet">
<li><a id="toc-Complex-DFTs-1" href="Complex-DFTs.html#Complex-DFTs">4.3.1 Complex DFTs</a></li>
<li><a id="toc-Planner-Flags-1" href="Planner-Flags.html#Planner-Flags">4.3.2 Planner Flags</a></li>
<li><a id="toc-Real_002ddata-DFTs-1" href="Real_002ddata-DFTs.html#Real_002ddata-DFTs">4.3.3 Real-data DFTs</a></li>
<li><a id="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>
<li><a id="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>
<li><a id="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>
</ul></li>
<li><a id="toc-Advanced-Interface-1" href="Advanced-Interface.html#Advanced-Interface">4.4 Advanced Interface</a>
<ul class="no-bullet">
<li><a id="toc-Advanced-Complex-DFTs-1" href="Advanced-Complex-DFTs.html#Advanced-Complex-DFTs">4.4.1 Advanced Complex DFTs</a></li>
<li><a id="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>
<li><a id="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>
</ul></li>
<li><a id="toc-Guru-Interface-1" href="Guru-Interface.html#Guru-Interface">4.5 Guru Interface</a>
<ul class="no-bullet">
<li><a id="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>
<li><a id="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>
<li><a id="toc-Guru-Complex-DFTs-1" href="Guru-Complex-DFTs.html#Guru-Complex-DFTs">4.5.3 Guru Complex DFTs</a></li>
<li><a id="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>
<li><a id="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>
<li><a id="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>
</ul></li>
<li><a id="toc-New_002darray-Execute-Functions-1" href="New_002darray-Execute-Functions.html#New_002darray-Execute-Functions">4.6 New-array Execute Functions</a></li>
<li><a id="toc-Wisdom-1" href="Wisdom.html#Wisdom">4.7 Wisdom</a>
<ul class="no-bullet">
<li><a id="toc-Wisdom-Export-1" href="Wisdom-Export.html#Wisdom-Export">4.7.1 Wisdom Export</a></li>
<li><a id="toc-Wisdom-Import-1" href="Wisdom-Import.html#Wisdom-Import">4.7.2 Wisdom Import</a></li>
<li><a id="toc-Forgetting-Wisdom-1" href="Forgetting-Wisdom.html#Forgetting-Wisdom">4.7.3 Forgetting Wisdom</a></li>
<li><a id="toc-Wisdom-Utilities-1" href="Wisdom-Utilities.html#Wisdom-Utilities">4.7.4 Wisdom Utilities</a></li>
</ul></li>
<li><a id="toc-What-FFTW-Really-Computes-1" href="What-FFTW-Really-Computes.html#What-FFTW-Really-Computes">4.8 What FFTW Really Computes</a>
<ul class="no-bullet">
<li><a id="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>
<li><a id="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>
<li><a id="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>
<li><a id="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>
<li><a id="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>
<li><a id="toc-Multi_002ddimensional-Transforms-1" href="Multi_002ddimensional-Transforms.html#Multi_002ddimensional-Transforms">4.8.6 Multi-dimensional Transforms</a></li>
</ul></li>
</ul></li>
<li><a id="toc-Multi_002dthreaded-FFTW-1" href="Multi_002dthreaded-FFTW.html#Multi_002dthreaded-FFTW">5 Multi-threaded FFTW</a>
<ul class="no-bullet">
<li><a id="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>
<li><a id="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>
<li><a id="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>
<li><a id="toc-Thread-safety-1" href="Thread-safety.html#Thread-safety">5.4 Thread safety</a></li>
</ul></li>
<li><a id="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>
<ul class="no-bullet">
<li><a id="toc-FFTW-MPI-Installation-1" href="FFTW-MPI-Installation.html#FFTW-MPI-Installation">6.1 FFTW MPI Installation</a></li>
<li><a id="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>
<li><a id="toc-2d-MPI-example-1" href="2d-MPI-example.html#g_t2d-MPI-example">6.3 2d MPI example</a></li>
<li><a id="toc-MPI-Data-Distribution-1" href="MPI-Data-Distribution.html#MPI-Data-Distribution">6.4 MPI Data Distribution</a>
<ul class="no-bullet">
<li><a id="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>
<li><a id="toc-Load-balancing-1" href="Load-balancing.html#Load-balancing">6.4.2 Load balancing</a></li>
<li><a id="toc-Transposed-distributions-1" href="Transposed-distributions.html#Transposed-distributions">6.4.3 Transposed distributions</a></li>
<li><a id="toc-One_002ddimensional-distributions-1" href="One_002ddimensional-distributions.html#One_002ddimensional-distributions">6.4.4 One-dimensional distributions</a></li>
</ul></li>
<li><a id="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>
<li><a id="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>
<li><a id="toc-FFTW-MPI-Transposes-1" href="FFTW-MPI-Transposes.html#FFTW-MPI-Transposes">6.7 FFTW MPI Transposes</a>
<ul class="no-bullet">
<li><a id="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>
<li><a id="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>
<li><a id="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>
</ul></li>
<li><a id="toc-FFTW-MPI-Wisdom-1" href="FFTW-MPI-Wisdom.html#FFTW-MPI-Wisdom">6.8 FFTW MPI Wisdom</a></li>
<li><a id="toc-Avoiding-MPI-Deadlocks-1" href="Avoiding-MPI-Deadlocks.html#Avoiding-MPI-Deadlocks">6.9 Avoiding MPI Deadlocks</a></li>
<li><a id="toc-FFTW-MPI-Performance-Tips-1" href="FFTW-MPI-Performance-Tips.html#FFTW-MPI-Performance-Tips">6.10 FFTW MPI Performance Tips</a></li>
<li><a id="toc-Combining-MPI-and-Threads-1" href="Combining-MPI-and-Threads.html#Combining-MPI-and-Threads">6.11 Combining MPI and Threads</a></li>
<li><a id="toc-FFTW-MPI-Reference-1" href="FFTW-MPI-Reference.html#FFTW-MPI-Reference">6.12 FFTW MPI Reference</a>
<ul class="no-bullet">
<li><a id="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>
<li><a id="toc-MPI-Initialization-1" href="MPI-Initialization.html#MPI-Initialization">6.12.2 MPI Initialization</a></li>
<li><a id="toc-Using-MPI-Plans-1" href="Using-MPI-Plans.html#Using-MPI-Plans">6.12.3 Using MPI Plans</a></li>
<li><a id="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>
<li><a id="toc-MPI-Plan-Creation-1" href="MPI-Plan-Creation.html#MPI-Plan-Creation">6.12.5 MPI Plan Creation</a></li>
<li><a id="toc-MPI-Wisdom-Communication-1" href="MPI-Wisdom-Communication.html#MPI-Wisdom-Communication">6.12.6 MPI Wisdom Communication</a></li>
</ul></li>
<li><a id="toc-FFTW-MPI-Fortran-Interface-1" href="FFTW-MPI-Fortran-Interface.html#FFTW-MPI-Fortran-Interface">6.13 FFTW MPI Fortran Interface</a></li>
</ul></li>
<li><a id="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>
<ul class="no-bullet">
<li><a id="toc-Overview-of-Fortran-interface-1" href="Overview-of-Fortran-interface.html#Overview-of-Fortran-interface">7.1 Overview of Fortran interface</a>
<ul class="no-bullet">
<li><a id="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>
</ul></li>
<li><a id="toc-Reversing-array-dimensions-1" href="Reversing-array-dimensions.html#Reversing-array-dimensions">7.2 Reversing array dimensions</a></li>
<li><a id="toc-FFTW-Fortran-type-reference-1" href="FFTW-Fortran-type-reference.html#FFTW-Fortran-type-reference">7.3 FFTW Fortran type reference</a></li>
<li><a id="toc-Plan-execution-in-Fortran-1" href="Plan-execution-in-Fortran.html#Plan-execution-in-Fortran">7.4 Plan execution in Fortran</a></li>
<li><a id="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>
<li><a id="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>
<ul class="no-bullet">
<li><a id="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>
<li><a id="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>
<li><a id="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>
</ul></li>
<li><a id="toc-Defining-an-FFTW-module-1" href="Defining-an-FFTW-module.html#Defining-an-FFTW-module">7.7 Defining an FFTW module</a></li>
</ul></li>
<li><a id="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>
<ul class="no-bullet">
<li><a id="toc-Fortran_002dinterface-routines-1" href="Fortran_002dinterface-routines.html#Fortran_002dinterface-routines">8.1 Fortran-interface routines</a></li>
<li><a id="toc-FFTW-Constants-in-Fortran-1" href="FFTW-Constants-in-Fortran.html#FFTW-Constants-in-Fortran">8.2 FFTW Constants in Fortran</a></li>
<li><a id="toc-FFTW-Execution-in-Fortran-1" href="FFTW-Execution-in-Fortran.html#FFTW-Execution-in-Fortran">8.3 FFTW Execution in Fortran</a></li>
<li><a id="toc-Fortran-Examples-1" href="Fortran-Examples.html#Fortran-Examples">8.4 Fortran Examples</a></li>
<li><a id="toc-Wisdom-of-Fortran_003f-1" href="Wisdom-of-Fortran_003f.html#Wisdom-of-Fortran_003f">8.5 Wisdom of Fortran?</a></li>
</ul></li>
<li><a id="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>
<li><a id="toc-Installation-and-Customization-1" href="Installation-and-Customization.html#Installation-and-Customization">10 Installation and Customization</a>
<ul class="no-bullet">
<li><a id="toc-Installation-on-Unix-1" href="Installation-on-Unix.html#Installation-on-Unix">10.1 Installation on Unix</a></li>
<li><a id="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>
<li><a id="toc-Cycle-Counters-1" href="Cycle-Counters.html#Cycle-Counters">10.3 Cycle Counters</a></li>
<li><a id="toc-Generating-your-own-code-1" href="Generating-your-own-code.html#Generating-your-own-code">10.4 Generating your own code</a></li>
</ul></li>
<li><a id="toc-Acknowledgments-1" href="Acknowledgments.html#Acknowledgments">11 Acknowledgments</a></li>
<li><a id="toc-License-and-Copyright-1" href="License-and-Copyright.html#License-and-Copyright">12 License and Copyright</a></li>
<li><a id="toc-Concept-Index-1" href="Concept-Index.html#Concept-Index" rel="index">13 Concept Index</a></li>
<li><a id="toc-Library-Index-1" href="Library-Index.html#Library-Index" rel="index">14 Library Index</a></li>
</ul>
</div>
<span id="Top"></span><div class="header">
<p>
Next: <a href="Introduction.html" 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> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<span id="FFTW-User-Manual"></span><h1 class="top">FFTW User Manual</h1>
<p>Welcome to FFTW, the Fastest Fourier Transform in the West. FFTW is a
collection of fast C routines to compute the discrete Fourier transform.
This manual documents FFTW version 3.3.10.
</p>
<table class="menu" border="0" cellspacing="0">
<tr><td align="left" valign="top">&bull; <a href="Introduction.html" accesskey="1">Introduction</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
</td></tr>
<tr><td align="left" valign="top">&bull; <a href="Tutorial.html" accesskey="2">Tutorial</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
</td></tr>
<tr><td align="left" valign="top">&bull; <a href="Other-Important-Topics.html" accesskey="3">Other Important Topics</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
</td></tr>
<tr><td align="left" valign="top">&bull; <a href="FFTW-Reference.html" accesskey="4">FFTW Reference</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
</td></tr>
<tr><td align="left" valign="top">&bull; <a href="Multi_002dthreaded-FFTW.html" accesskey="5">Multi-threaded FFTW</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
</td></tr>
<tr><td align="left" valign="top">&bull; <a href="Distributed_002dmemory-FFTW-with-MPI.html" accesskey="6">Distributed-memory FFTW with MPI</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
</td></tr>
<tr><td align="left" valign="top">&bull; <a href="Calling-FFTW-from-Modern-Fortran.html" accesskey="7">Calling FFTW from Modern Fortran</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
</td></tr>
<tr><td align="left" valign="top">&bull; <a href="Calling-FFTW-from-Legacy-Fortran.html" accesskey="8">Calling FFTW from Legacy Fortran</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
</td></tr>
<tr><td align="left" valign="top">&bull; <a href="Upgrading-from-FFTW-version-2.html" accesskey="9">Upgrading from FFTW version 2</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
</td></tr>
<tr><td align="left" valign="top">&bull; <a href="Installation-and-Customization.html">Installation and Customization</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
</td></tr>
<tr><td align="left" valign="top">&bull; <a href="Acknowledgments.html">Acknowledgments</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
</td></tr>
<tr><td align="left" valign="top">&bull; <a href="License-and-Copyright.html">License and Copyright</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
</td></tr>
<tr><td align="left" valign="top">&bull; <a href="Concept-Index.html" rel="index">Concept Index</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
</td></tr>
<tr><td align="left" valign="top">&bull; <a href="Library-Index.html" rel="index">Library Index</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
</td></tr>
</table>
<hr>
<div class="header">
<p>
Next: <a href="Introduction.html" 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> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html" title="Index" rel="index">Index</a>]</p>
</div>
</body>
</html>