Mercurial > hg > sv-dependency-builds
comparison src/fftw-3.3.5/doc/fftw3.texi @ 127:7867fa7e1b6b
Current fftw source
author | Chris Cannam <cannam@all-day-breakfast.com> |
---|---|
date | Tue, 18 Oct 2016 13:40:26 +0100 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
126:4a7071416412 | 127:7867fa7e1b6b |
---|---|
1 \input texinfo @c -*-texinfo-*- | |
2 @c Update by C-x C-e on: (texinfo-multiple-files-update "fftw3.texi" nil t) | |
3 @setfilename fftw3.info | |
4 @include version.texi | |
5 @settitle FFTW @value{VERSION} | |
6 @setchapternewpage odd | |
7 @c define constant index (ct) | |
8 @defcodeindex ct | |
9 @syncodeindex ct fn | |
10 @syncodeindex vr fn | |
11 @syncodeindex pg fn | |
12 @syncodeindex tp fn | |
13 @c define foreign function index (ff) | |
14 @defcodeindex ff | |
15 @syncodeindex ff cp | |
16 @c define foreign constant index (fc) | |
17 @defcodeindex fc | |
18 @syncodeindex fc cp | |
19 @c define foreign program index (fp) | |
20 @defcodeindex fp | |
21 @syncodeindex fp cp | |
22 @comment %**end of header | |
23 | |
24 @iftex | |
25 @paragraphindent 0 | |
26 @parskip=@medskipamount | |
27 @end iftex | |
28 | |
29 @c | |
30 @c The following macros are coded in a weird way: | |
31 | |
32 @c @macro FOO | |
33 @c @noindent | |
34 @c <STUFF> | |
35 @c @refill | |
36 @c @end macro | |
37 | |
38 @c The @noindent/@refill stuff is not necessary in texinfo up to version | |
39 @c 4, but it is a hack necessary to make texinfo-5 work. | |
40 | |
41 @c Texinfo has been stable for the first 15 years of FFTW's history. | |
42 @c Then some genius, with too much time in his hands and on a mission to | |
43 @c deliver the world from the evil of the C language, decided to rewrite | |
44 @c makeinfo in Perl, the old C version of makeinfo being, as I said, | |
45 @c evil. The official excuse for the rewrite was that now I can have my | |
46 @c manual in XML format, as if XML were a feature. | |
47 | |
48 @c The result of this stroke of genius is that texinfo-5 has different | |
49 @c rules for macro expansion than texinfo-4 does, specifically regarding | |
50 @c whether or not spaces after a macro are ignored. Texinfo-4 had weird | |
51 @c rules, but at least they were constant and internally more or less | |
52 @c consistent. Texinfo-5 has different rules, and even worse the rules | |
53 @c in texinfo-5 are inconsistent between the TeX and HTML output | |
54 @c processors. This situation makes it almost impossible for us to | |
55 @c produce a manual that works with both texinfo 4 and 5 in all modes | |
56 @c (TeX, info, and html). The @noindent/@refill hack is my best shot at | |
57 @c patching this situation. | |
58 | |
59 @c "@noindent" has two effects: First, it makes texinfo-5 believe that | |
60 @c the next "@ifinfo" is on a new line, otherwise texinfo-5 complains | |
61 @c that it is not (even though it obviously is). Second, "@noindent" is | |
62 @c a macro that eats extra space, and we want this effect because somehow | |
63 @c macro expansion in texinfo-5 inserts extra spaces that were not there | |
64 @c in texinfo-4. | |
65 | |
66 @c "@refill" stops texinfo-5 from interpreting the rest of the line after | |
67 @c a macro invocation as an argument to "@end tex". For example, in | |
68 @c "FFTW uses @Onlogn algorithms", somehow texinfo-5 thinks that | |
69 @c "algorithms" is an argument to "@end tex". "@noindent" would have the | |
70 @c same effect (as would any other macro invocation, I think), but, | |
71 @c unlike "@noindent", "@refill" does not eat spaces and does not scan | |
72 @c the rest of the input file for macro arguments. However, "@refill" is | |
73 @c deemed "obsolete" in the texinfo-5 source code, so expect this to | |
74 @c break at some point. | |
75 | |
76 @c This situation is wholly unsatisfactory, and the GNU project is | |
77 @c obviously out of control. If this nonsense persists, we will abandon | |
78 @c texinfo and produce a latex-only version of the manual. | |
79 | |
80 | |
81 @macro Onlogn | |
82 @noindent | |
83 @ifinfo | |
84 O(n log n) | |
85 @end ifinfo | |
86 @html | |
87 <i>O</i>(<i>n</i> log <i>n</i>) | |
88 @end html | |
89 @tex | |
90 $O(n \\log n)$ | |
91 @end tex | |
92 @refill | |
93 @end macro | |
94 | |
95 @macro ndims | |
96 @noindent | |
97 @ifinfo | |
98 n[0] x n[1] x n[2] x ... x n[d-1] | |
99 @end ifinfo | |
100 @html | |
101 n<sub>0</sub> × n<sub>1</sub> × n<sub>2</sub> × … × n<sub>d-1</sub> | |
102 @end html | |
103 @tex | |
104 $n_0 \\times n_1 \\times n_2 \\times \\cdots \\times n_{d-1}$ | |
105 @end tex | |
106 @refill | |
107 @end macro | |
108 | |
109 @macro ndimshalf | |
110 @noindent | |
111 @ifinfo | |
112 n[0] x n[1] x n[2] x ... x (n[d-1]/2 + 1) | |
113 @end ifinfo | |
114 @html | |
115 n<sub>0</sub> × n<sub>1</sub> × n<sub>2</sub> × … × (n<sub>d-1</sub>/2 + 1) | |
116 @end html | |
117 @tex | |
118 $n_0 \\times n_1 \\times n_2 \\times \\cdots \\times (n_{d-1}/2 + 1)$ | |
119 @end tex | |
120 @refill | |
121 @end macro | |
122 | |
123 @macro ndimspad | |
124 @noindent | |
125 @ifinfo | |
126 n[0] x n[1] x n[2] x ... x [2 (n[d-1]/2 + 1)] | |
127 @end ifinfo | |
128 @html | |
129 n<sub>0</sub> × n<sub>1</sub> × n<sub>2</sub> × … × [2 (n<sub>d-1</sub>/2 + 1)] | |
130 @end html | |
131 @tex | |
132 $n_0 \\times n_1 \\times n_2 \\times \\cdots \\times [2(n_{d-1}/2 + 1)]$ | |
133 @end tex | |
134 @refill | |
135 @end macro | |
136 | |
137 @macro twodims{d1, d2} | |
138 @noindent | |
139 @ifinfo | |
140 \d1\ x \d2\ | |
141 @end ifinfo | |
142 @html | |
143 \d1\ × \d2\ | |
144 @end html | |
145 @tex | |
146 $\d1\ \\times \d2\$ | |
147 @end tex | |
148 @refill | |
149 @end macro | |
150 | |
151 @macro threedims{d1, d2, d3} | |
152 @noindent | |
153 @ifinfo | |
154 \d1\ x \d2\ x \d3\ | |
155 @end ifinfo | |
156 @html | |
157 \d1\ × \d2\ × \d3\ | |
158 @end html | |
159 @tex | |
160 $\d1\ \\times \d2\ \\times \d3\$ | |
161 @end tex | |
162 @refill | |
163 @end macro | |
164 | |
165 @macro dimk{k} | |
166 @noindent | |
167 @ifinfo | |
168 n[\k\] | |
169 @end ifinfo | |
170 @html | |
171 n<sub>\k\</sub> | |
172 @end html | |
173 @tex | |
174 $n_\k\$ | |
175 @end tex | |
176 @refill | |
177 @end macro | |
178 | |
179 | |
180 @macro ndimstrans | |
181 @noindent | |
182 @ifinfo | |
183 n[1] x n[0] x n[2] x ... x n[d-1] | |
184 @end ifinfo | |
185 @html | |
186 n<sub>1</sub> × n<sub>0</sub> × n<sub>2</sub> ×…× n<sub>d-1</sub> | |
187 @end html | |
188 @tex | |
189 $n_1 \\times n_0 \\times n_2 \\times \\cdots \\times n_{d-1}$ | |
190 @end tex | |
191 @refill | |
192 @end macro | |
193 | |
194 @copying | |
195 This manual is for FFTW | |
196 (version @value{VERSION}, @value{UPDATED}). | |
197 | |
198 Copyright @copyright{} 2003 Matteo Frigo. | |
199 | |
200 Copyright @copyright{} 2003 Massachusetts Institute of Technology. | |
201 | |
202 @quotation | |
203 Permission is granted to make and distribute verbatim copies of this | |
204 manual provided the copyright notice and this permission notice are | |
205 preserved on all copies. | |
206 | |
207 Permission is granted to copy and distribute modified versions of this | |
208 manual under the conditions for verbatim copying, provided that the | |
209 entire resulting derived work is distributed under the terms of a | |
210 permission notice identical to this one. | |
211 | |
212 Permission is granted to copy and distribute translations of this manual | |
213 into another language, under the above conditions for modified versions, | |
214 except that this permission notice may be stated in a translation | |
215 approved by the Free Software Foundation. | |
216 @end quotation | |
217 @end copying | |
218 | |
219 @dircategory Development | |
220 @direntry | |
221 * fftw3: (fftw3). FFTW User's Manual. | |
222 @end direntry | |
223 | |
224 @titlepage | |
225 @title FFTW | |
226 @subtitle for version @value{VERSION}, @value{UPDATED} | |
227 @author Matteo Frigo | |
228 @author Steven G. Johnson | |
229 @page | |
230 @vskip 0pt plus 1filll | |
231 @insertcopying | |
232 @end titlepage | |
233 | |
234 @contents | |
235 | |
236 @ifnottex | |
237 @node Top, Introduction, (dir), (dir) | |
238 @top FFTW User Manual | |
239 Welcome to FFTW, the Fastest Fourier Transform in the West. FFTW is a | |
240 collection of fast C routines to compute the discrete Fourier transform. | |
241 This manual documents FFTW version @value{VERSION}. | |
242 @end ifnottex | |
243 | |
244 @menu | |
245 * Introduction:: | |
246 * Tutorial:: | |
247 * Other Important Topics:: | |
248 * FFTW Reference:: | |
249 * Multi-threaded FFTW:: | |
250 * Distributed-memory FFTW with MPI:: | |
251 * Calling FFTW from Modern Fortran:: | |
252 * Calling FFTW from Legacy Fortran:: | |
253 * Upgrading from FFTW version 2:: | |
254 * Installation and Customization:: | |
255 * Acknowledgments:: | |
256 * License and Copyright:: | |
257 * Concept Index:: | |
258 * Library Index:: | |
259 @end menu | |
260 | |
261 @c ************************************************************ | |
262 @include intro.texi | |
263 @include tutorial.texi | |
264 @include other.texi | |
265 @include reference.texi | |
266 @include threads.texi | |
267 @include mpi.texi | |
268 @include modern-fortran.texi | |
269 @include legacy-fortran.texi | |
270 @include upgrading.texi | |
271 @include install.texi | |
272 @include acknowledgements.texi | |
273 @include license.texi | |
274 @include cindex.texi | |
275 @include findex.texi | |
276 @c ************************************************************ | |
277 | |
278 @bye |