Mercurial > hg > batch-feature-extraction-tool
diff Lib/fftw-3.2.1/doc/html/.svn/text-base/Real_002ddata-DFTs.html.svn-base @ 15:585caf503ef5 tip
Tidy up for ROLI
author | Geogaddi\David <d.m.ronan@qmul.ac.uk> |
---|---|
date | Tue, 17 May 2016 18:50:19 +0100 |
parents | 636c989477e7 |
children |
line wrap: on
line diff
--- a/Lib/fftw-3.2.1/doc/html/.svn/text-base/Real_002ddata-DFTs.html.svn-base Wed May 04 11:02:59 2016 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,160 +0,0 @@ -<html lang="en"> -<head> -<title>Real-data DFTs - FFTW 3.2.1</title> -<meta http-equiv="Content-Type" content="text/html"> -<meta name="description" content="FFTW 3.2.1"> -<meta name="generator" content="makeinfo 4.8"> -<link title="Top" rel="start" href="index.html#Top"> -<link rel="up" href="Basic-Interface.html#Basic-Interface" title="Basic Interface"> -<link rel="prev" href="Planner-Flags.html#Planner-Flags" title="Planner Flags"> -<link rel="next" href="Real_002ddata-DFT-Array-Format.html#Real_002ddata-DFT-Array-Format" title="Real-data DFT Array Format"> -<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage"> -<!-- -This manual is for FFTW -(version 3.2.1, 5 February 2009). - -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. - --> -<meta http-equiv="Content-Style-Type" content="text/css"> -<style type="text/css"><!-- - pre.display { font-family:inherit } - pre.format { font-family:inherit } - pre.smalldisplay { font-family:inherit; font-size:smaller } - pre.smallformat { font-family:inherit; font-size:smaller } - pre.smallexample { font-size:smaller } - pre.smalllisp { font-size:smaller } - span.sc { font-variant:small-caps } - span.roman { font-family:serif; font-weight:normal; } - span.sansserif { font-family:sans-serif; font-weight:normal; } ---></style> -</head> -<body> -<div class="node"> -<p> -<a name="Real-data-DFTs"></a> -<a name="Real_002ddata-DFTs"></a> -Next: <a rel="next" accesskey="n" href="Real_002ddata-DFT-Array-Format.html#Real_002ddata-DFT-Array-Format">Real-data DFT Array Format</a>, -Previous: <a rel="previous" accesskey="p" href="Planner-Flags.html#Planner-Flags">Planner Flags</a>, -Up: <a rel="up" accesskey="u" href="Basic-Interface.html#Basic-Interface">Basic Interface</a> -<hr> -</div> - -<h4 class="subsection">4.3.3 Real-data DFTs</h4> - -<pre class="example"> fftw_plan fftw_plan_dft_r2c_1d(int n, - double *in, fftw_complex *out, - unsigned flags); - fftw_plan fftw_plan_dft_r2c_2d(int n0, int n1, - double *in, fftw_complex *out, - unsigned flags); - fftw_plan fftw_plan_dft_r2c_3d(int n0, int n1, int n2, - double *in, fftw_complex *out, - unsigned flags); - fftw_plan fftw_plan_dft_r2c(int rank, const int *n, - double *in, fftw_complex *out, - unsigned flags); -</pre> - <p><a name="index-fftw_005fplan_005fdft_005fr2c_005f1d-176"></a><a name="index-fftw_005fplan_005fdft_005fr2c_005f2d-177"></a><a name="index-fftw_005fplan_005fdft_005fr2c_005f3d-178"></a><a name="index-fftw_005fplan_005fdft_005fr2c-179"></a><a name="index-r2c-180"></a> -Plan a real-input/complex-output discrete Fourier transform (DFT) in -zero or more dimensions, returning an <code>fftw_plan</code> (see <a href="Using-Plans.html#Using-Plans">Using Plans</a>). - - <p>Once you have created a plan for a certain transform type and -parameters, then creating another plan of the same type and parameters, -but for different arrays, is fast and shares constant data with the -first plan (if it still exists). - - <p>The planner returns <code>NULL</code> if the plan cannot be created. A -non-<code>NULL</code> plan is always returned by the basic interface unless -you are using a customized FFTW configuration supporting a restricted -set of transforms, or if you use the <code>FFTW_PRESERVE_INPUT</code> flag -with a multi-dimensional out-of-place c2r transform (see below). - -<h5 class="subsubheading">Arguments</h5> - - <ul> -<li><code>rank</code> is the dimensionality of the transform (it should be the -size of the array <code>*n</code>), and can be any non-negative integer. The -`<samp><span class="samp">_1d</span></samp>', `<samp><span class="samp">_2d</span></samp>', and `<samp><span class="samp">_3d</span></samp>' planners correspond to a -<code>rank</code> of <code>1</code>, <code>2</code>, and <code>3</code>, respectively. A -<code>rank</code> of zero is equivalent to a transform of size 1, i.e. a copy -of one number (with zero imaginary part) from input to output. - - <li><code>n</code>, or <code>n0</code>/<code>n1</code>/<code>n2</code>, or <code>n[rank]</code>, -respectively, gives the size of the <em>logical</em> transform dimensions. -They can be any positive integer. This is different in general from the -<em>physical</em> array dimensions, which are described in <a href="Real_002ddata-DFT-Array-Format.html#Real_002ddata-DFT-Array-Format">Real-data DFT Array Format</a>. - - <ul> -<li>FFTW is best at handling sizes of the form -2<sup>a</sup> 3<sup>b</sup> 5<sup>c</sup> 7<sup>d</sup> - 11<sup>e</sup> 13<sup>f</sup>,where e+f is either 0 or 1, and the other exponents -are arbitrary. Other sizes are computed by means of a slow, -general-purpose algorithm (which nevertheless retains <i>O</i>(<i>n</i> log <i>n</i>) - - <p>performance even for prime sizes). (It is possible to customize FFTW -for different array sizes; see <a href="Installation-and-Customization.html#Installation-and-Customization">Installation and Customization</a>.) -Transforms whose sizes are powers of 2 are especially fast, and -it is generally beneficial for the <em>last</em> dimension of an r2c/c2r -transform to be <em>even</em>. -</ul> - - <li><code>in</code> and <code>out</code> point to the input and output arrays of the -transform, which may be the same (yielding an in-place transform). -<a name="index-in_002dplace-181"></a>These arrays are overwritten during planning, unless -<code>FFTW_ESTIMATE</code> is used in the flags. (The arrays need not be -initialized, but they must be allocated.) For an in-place transform, it -is important to remember that the real array will require padding, -described in <a href="Real_002ddata-DFT-Array-Format.html#Real_002ddata-DFT-Array-Format">Real-data DFT Array Format</a>. -<a name="index-padding-182"></a> -<li><a name="index-flags-183"></a><code>flags</code> is a bitwise OR (`<samp><span class="samp">|</span></samp>') of zero or more planner flags, -as defined in <a href="Planner-Flags.html#Planner-Flags">Planner Flags</a>. - -</ul> - - <p>The inverse transforms, taking complex input (storing the non-redundant -half of a logically Hermitian array) to real output, are given by: - -<pre class="example"> fftw_plan fftw_plan_dft_c2r_1d(int n, - fftw_complex *in, double *out, - unsigned flags); - fftw_plan fftw_plan_dft_c2r_2d(int n0, int n1, - fftw_complex *in, double *out, - unsigned flags); - fftw_plan fftw_plan_dft_c2r_3d(int n0, int n1, int n2, - fftw_complex *in, double *out, - unsigned flags); - fftw_plan fftw_plan_dft_c2r(int rank, const int *n, - fftw_complex *in, double *out, - unsigned flags); -</pre> - <p><a name="index-fftw_005fplan_005fdft_005fc2r_005f1d-184"></a><a name="index-fftw_005fplan_005fdft_005fc2r_005f2d-185"></a><a name="index-fftw_005fplan_005fdft_005fc2r_005f3d-186"></a><a name="index-fftw_005fplan_005fdft_005fc2r-187"></a><a name="index-c2r-188"></a> -The arguments are the same as for the r2c transforms, except that the -input and output data formats are reversed. - - <p>FFTW computes an unnormalized transform: computing an r2c followed by a -c2r transform (or vice versa) will result in the original data -multiplied by the size of the transform (the product of the logical -dimensions). -<a name="index-normalization-189"></a>An r2c transform produces the same output as a <code>FFTW_FORWARD</code> -complex DFT of the same input, and a c2r transform is correspondingly -equivalent to <code>FFTW_BACKWARD</code>. For more information, see <a href="What-FFTW-Really-Computes.html#What-FFTW-Really-Computes">What FFTW Really Computes</a>. - -<!-- =========> --> -</body></html> -