annotate libinterp/corefcn/fftn.cc @ 20918:6f0bd96f93c0

maint: Use new C++ archetype in more files. Place input validation first in files. Move declaration of retval down in function to be closer to point of usage. Eliminate else clause after if () error. Use "return ovl()" where it makes sense. * __dispatch__.cc, __dsearchn__.cc, __ichol__.cc, __lin_interpn__.cc, balance.cc, betainc.cc, bitfcns.cc, bsxfun.cc, cellfun.cc, colloc.cc, conv2.cc, daspk.cc, dasrt.cc, dassl.cc, data.cc, debug.cc, dirfns.cc, dlmread.cc, dot.cc, eig.cc, error.cc, fft.cc, fft2.cc, fftn.cc, file-io.cc, ov-type-conv.h: Use new C++ archetype in more files.
author Rik <rik@octave.org>
date Wed, 16 Dec 2015 15:00:31 -0800
parents 1142cf6abc0d
children 48b2ad5ee801
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4773
ccfbd6047a54 [project @ 2004-02-16 19:02:32 by jwe]
jwe
parents:
diff changeset
1 /*
ccfbd6047a54 [project @ 2004-02-16 19:02:32 by jwe]
jwe
parents:
diff changeset
2
19697
4197fc428c7d maint: Update copyright notices for 2015.
John W. Eaton <jwe@octave.org>
parents: 17787
diff changeset
3 Copyright (C) 2004-2015 David Bateman
4773
ccfbd6047a54 [project @ 2004-02-16 19:02:32 by jwe]
jwe
parents:
diff changeset
4
ccfbd6047a54 [project @ 2004-02-16 19:02:32 by jwe]
jwe
parents:
diff changeset
5 This file is part of Octave.
ccfbd6047a54 [project @ 2004-02-16 19:02:32 by jwe]
jwe
parents:
diff changeset
6
ccfbd6047a54 [project @ 2004-02-16 19:02:32 by jwe]
jwe
parents:
diff changeset
7 Octave is free software; you can redistribute it and/or modify it
ccfbd6047a54 [project @ 2004-02-16 19:02:32 by jwe]
jwe
parents:
diff changeset
8 under the terms of the GNU General Public License as published by the
7016
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 7007
diff changeset
9 Free Software Foundation; either version 3 of the License, or (at your
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 7007
diff changeset
10 option) any later version.
4773
ccfbd6047a54 [project @ 2004-02-16 19:02:32 by jwe]
jwe
parents:
diff changeset
11
ccfbd6047a54 [project @ 2004-02-16 19:02:32 by jwe]
jwe
parents:
diff changeset
12 Octave is distributed in the hope that it will be useful, but WITHOUT
ccfbd6047a54 [project @ 2004-02-16 19:02:32 by jwe]
jwe
parents:
diff changeset
13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
ccfbd6047a54 [project @ 2004-02-16 19:02:32 by jwe]
jwe
parents:
diff changeset
14 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
ccfbd6047a54 [project @ 2004-02-16 19:02:32 by jwe]
jwe
parents:
diff changeset
15 for more details.
ccfbd6047a54 [project @ 2004-02-16 19:02:32 by jwe]
jwe
parents:
diff changeset
16
ccfbd6047a54 [project @ 2004-02-16 19:02:32 by jwe]
jwe
parents:
diff changeset
17 You should have received a copy of the GNU General Public License
7016
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 7007
diff changeset
18 along with Octave; see the file COPYING. If not, see
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 7007
diff changeset
19 <http://www.gnu.org/licenses/>.
4773
ccfbd6047a54 [project @ 2004-02-16 19:02:32 by jwe]
jwe
parents:
diff changeset
20
ccfbd6047a54 [project @ 2004-02-16 19:02:32 by jwe]
jwe
parents:
diff changeset
21 */
ccfbd6047a54 [project @ 2004-02-16 19:02:32 by jwe]
jwe
parents:
diff changeset
22
ccfbd6047a54 [project @ 2004-02-16 19:02:32 by jwe]
jwe
parents:
diff changeset
23 #ifdef HAVE_CONFIG_H
ccfbd6047a54 [project @ 2004-02-16 19:02:32 by jwe]
jwe
parents:
diff changeset
24 #include <config.h>
ccfbd6047a54 [project @ 2004-02-16 19:02:32 by jwe]
jwe
parents:
diff changeset
25 #endif
ccfbd6047a54 [project @ 2004-02-16 19:02:32 by jwe]
jwe
parents:
diff changeset
26
ccfbd6047a54 [project @ 2004-02-16 19:02:32 by jwe]
jwe
parents:
diff changeset
27 #include "lo-mappers.h"
ccfbd6047a54 [project @ 2004-02-16 19:02:32 by jwe]
jwe
parents:
diff changeset
28
15039
e753177cde93 maint: Move non-dynamically linked functions from DLD-FUNCTIONS/ to corefcn/ directory
Rik <rik@octave.org>
parents: 14138
diff changeset
29 #include "defun.h"
4773
ccfbd6047a54 [project @ 2004-02-16 19:02:32 by jwe]
jwe
parents:
diff changeset
30 #include "error.h"
ccfbd6047a54 [project @ 2004-02-16 19:02:32 by jwe]
jwe
parents:
diff changeset
31 #include "gripes.h"
ccfbd6047a54 [project @ 2004-02-16 19:02:32 by jwe]
jwe
parents:
diff changeset
32 #include "oct-obj.h"
ccfbd6047a54 [project @ 2004-02-16 19:02:32 by jwe]
jwe
parents:
diff changeset
33 #include "utils.h"
ccfbd6047a54 [project @ 2004-02-16 19:02:32 by jwe]
jwe
parents:
diff changeset
34
ccfbd6047a54 [project @ 2004-02-16 19:02:32 by jwe]
jwe
parents:
diff changeset
35 // This function should be merged with Fifft.
ccfbd6047a54 [project @ 2004-02-16 19:02:32 by jwe]
jwe
parents:
diff changeset
36
9523
0ce82753dd72 more configure changes for libraries
John W. Eaton <jwe@octave.org>
parents: 9072
diff changeset
37 #if defined (HAVE_FFTW)
9072
bd8e388043c4 Cleanup documentation for signal.texi, image.texi, audio.texi
Rik <rdrider0-list@yahoo.com>
parents: 9064
diff changeset
38 #define FFTSRC "@sc{fftw}"
4773
ccfbd6047a54 [project @ 2004-02-16 19:02:32 by jwe]
jwe
parents:
diff changeset
39 #else
9072
bd8e388043c4 Cleanup documentation for signal.texi, image.texi, audio.texi
Rik <rdrider0-list@yahoo.com>
parents: 9064
diff changeset
40 #define FFTSRC "@sc{fftpack}"
4773
ccfbd6047a54 [project @ 2004-02-16 19:02:32 by jwe]
jwe
parents:
diff changeset
41 #endif
ccfbd6047a54 [project @ 2004-02-16 19:02:32 by jwe]
jwe
parents:
diff changeset
42
ccfbd6047a54 [project @ 2004-02-16 19:02:32 by jwe]
jwe
parents:
diff changeset
43 static octave_value
ccfbd6047a54 [project @ 2004-02-16 19:02:32 by jwe]
jwe
parents:
diff changeset
44 do_fftn (const octave_value_list &args, const char *fcn, int type)
ccfbd6047a54 [project @ 2004-02-16 19:02:32 by jwe]
jwe
parents:
diff changeset
45 {
ccfbd6047a54 [project @ 2004-02-16 19:02:32 by jwe]
jwe
parents:
diff changeset
46 int nargin = args.length ();
ccfbd6047a54 [project @ 2004-02-16 19:02:32 by jwe]
jwe
parents:
diff changeset
47
ccfbd6047a54 [project @ 2004-02-16 19:02:32 by jwe]
jwe
parents:
diff changeset
48 if (nargin < 1 || nargin > 2)
20802
8bb38ba1bad6 eliminate return statements after calls to print_usage
John W. Eaton <jwe@octave.org>
parents: 20704
diff changeset
49 print_usage ();
4773
ccfbd6047a54 [project @ 2004-02-16 19:02:32 by jwe]
jwe
parents:
diff changeset
50
20918
6f0bd96f93c0 maint: Use new C++ archetype in more files.
Rik <rik@octave.org>
parents: 20853
diff changeset
51 octave_value retval;
4773
ccfbd6047a54 [project @ 2004-02-16 19:02:32 by jwe]
jwe
parents:
diff changeset
52 octave_value arg = args(0);
ccfbd6047a54 [project @ 2004-02-16 19:02:32 by jwe]
jwe
parents:
diff changeset
53 dim_vector dims = arg.dims ();
11586
12df7854fa7c strip trailing whitespace from source files
John W. Eaton <jwe@octave.org>
parents: 11553
diff changeset
54
4773
ccfbd6047a54 [project @ 2004-02-16 19:02:32 by jwe]
jwe
parents:
diff changeset
55 for (int i = 0; i < dims.length (); i++)
ccfbd6047a54 [project @ 2004-02-16 19:02:32 by jwe]
jwe
parents:
diff changeset
56 if (dims(i) < 0)
ccfbd6047a54 [project @ 2004-02-16 19:02:32 by jwe]
jwe
parents:
diff changeset
57 return retval;
ccfbd6047a54 [project @ 2004-02-16 19:02:32 by jwe]
jwe
parents:
diff changeset
58
ccfbd6047a54 [project @ 2004-02-16 19:02:32 by jwe]
jwe
parents:
diff changeset
59 if (nargin > 1)
ccfbd6047a54 [project @ 2004-02-16 19:02:32 by jwe]
jwe
parents:
diff changeset
60 {
20704
571508c1ed06 eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20555
diff changeset
61 Matrix val = args(1).xmatrix_value ("%s: SIZE must be a vector of length dim", fcn);
571508c1ed06 eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20555
diff changeset
62
4773
ccfbd6047a54 [project @ 2004-02-16 19:02:32 by jwe]
jwe
parents:
diff changeset
63 if (val.rows () > val.columns ())
10154
40dfc0c99116 DLD-FUNCTIONS/*.cc: untabify
John W. Eaton <jwe@octave.org>
parents: 9523
diff changeset
64 val = val.transpose ();
4773
ccfbd6047a54 [project @ 2004-02-16 19:02:32 by jwe]
jwe
parents:
diff changeset
65
20704
571508c1ed06 eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20555
diff changeset
66 if (val.columns () != dims.length () || val.rows () != 1)
11553
01f703952eff Improve docstrings for functions in DLD-FUNCTIONS directory.
Rik <octave@nomad.inbox5.com>
parents: 11523
diff changeset
67 error ("%s: SIZE must be a vector of length dim", fcn);
20918
6f0bd96f93c0 maint: Use new C++ archetype in more files.
Rik <rik@octave.org>
parents: 20853
diff changeset
68
6f0bd96f93c0 maint: Use new C++ archetype in more files.
Rik <rik@octave.org>
parents: 20853
diff changeset
69 for (int i = 0; i < dims.length (); i++)
10154
40dfc0c99116 DLD-FUNCTIONS/*.cc: untabify
John W. Eaton <jwe@octave.org>
parents: 9523
diff changeset
70 {
20918
6f0bd96f93c0 maint: Use new C++ archetype in more files.
Rik <rik@octave.org>
parents: 20853
diff changeset
71 if (xisnan (val(i,0)))
6f0bd96f93c0 maint: Use new C++ archetype in more files.
Rik <rik@octave.org>
parents: 20853
diff changeset
72 error ("%s: SIZE has invalid NaN entries", fcn);
6f0bd96f93c0 maint: Use new C++ archetype in more files.
Rik <rik@octave.org>
parents: 20853
diff changeset
73 else if (NINTbig (val(i,0)) < 0)
6f0bd96f93c0 maint: Use new C++ archetype in more files.
Rik <rik@octave.org>
parents: 20853
diff changeset
74 error ("%s: all dimensions in SIZE must be greater than zero", fcn);
6f0bd96f93c0 maint: Use new C++ archetype in more files.
Rik <rik@octave.org>
parents: 20853
diff changeset
75 else
6f0bd96f93c0 maint: Use new C++ archetype in more files.
Rik <rik@octave.org>
parents: 20853
diff changeset
76 dims(i) = NINTbig(val(i,0));
10154
40dfc0c99116 DLD-FUNCTIONS/*.cc: untabify
John W. Eaton <jwe@octave.org>
parents: 9523
diff changeset
77 }
4773
ccfbd6047a54 [project @ 2004-02-16 19:02:32 by jwe]
jwe
parents:
diff changeset
78 }
ccfbd6047a54 [project @ 2004-02-16 19:02:32 by jwe]
jwe
parents:
diff changeset
79
ccfbd6047a54 [project @ 2004-02-16 19:02:32 by jwe]
jwe
parents:
diff changeset
80 if (dims.all_zero ())
7924
4976f66d469b miscellaneous cleanup
John W. Eaton <jwe@octave.org>
parents: 7814
diff changeset
81 {
4976f66d469b miscellaneous cleanup
John W. Eaton <jwe@octave.org>
parents: 7814
diff changeset
82 if (arg.is_single_type ())
10154
40dfc0c99116 DLD-FUNCTIONS/*.cc: untabify
John W. Eaton <jwe@octave.org>
parents: 9523
diff changeset
83 return octave_value (FloatMatrix ());
7924
4976f66d469b miscellaneous cleanup
John W. Eaton <jwe@octave.org>
parents: 7814
diff changeset
84 else
10154
40dfc0c99116 DLD-FUNCTIONS/*.cc: untabify
John W. Eaton <jwe@octave.org>
parents: 9523
diff changeset
85 return octave_value (Matrix ());
7924
4976f66d469b miscellaneous cleanup
John W. Eaton <jwe@octave.org>
parents: 7814
diff changeset
86 }
4773
ccfbd6047a54 [project @ 2004-02-16 19:02:32 by jwe]
jwe
parents:
diff changeset
87
7789
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
88 if (arg.is_single_type ())
4773
ccfbd6047a54 [project @ 2004-02-16 19:02:32 by jwe]
jwe
parents:
diff changeset
89 {
7789
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
90 if (arg.is_real_type ())
10154
40dfc0c99116 DLD-FUNCTIONS/*.cc: untabify
John W. Eaton <jwe@octave.org>
parents: 9523
diff changeset
91 {
40dfc0c99116 DLD-FUNCTIONS/*.cc: untabify
John W. Eaton <jwe@octave.org>
parents: 9523
diff changeset
92 FloatNDArray nda = arg.float_array_value ();
4773
ccfbd6047a54 [project @ 2004-02-16 19:02:32 by jwe]
jwe
parents:
diff changeset
93
20555
f90c8372b7ba eliminate many more simple uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20172
diff changeset
94 nda.resize (dims, 0.0);
f90c8372b7ba eliminate many more simple uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20172
diff changeset
95 retval = (type != 0 ? nda.ifourierNd () : nda.fourierNd ());
10154
40dfc0c99116 DLD-FUNCTIONS/*.cc: untabify
John W. Eaton <jwe@octave.org>
parents: 9523
diff changeset
96 }
7789
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
97 else
10154
40dfc0c99116 DLD-FUNCTIONS/*.cc: untabify
John W. Eaton <jwe@octave.org>
parents: 9523
diff changeset
98 {
40dfc0c99116 DLD-FUNCTIONS/*.cc: untabify
John W. Eaton <jwe@octave.org>
parents: 9523
diff changeset
99 FloatComplexNDArray cnda = arg.float_complex_array_value ();
4773
ccfbd6047a54 [project @ 2004-02-16 19:02:32 by jwe]
jwe
parents:
diff changeset
100
20555
f90c8372b7ba eliminate many more simple uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20172
diff changeset
101 cnda.resize (dims, 0.0);
f90c8372b7ba eliminate many more simple uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20172
diff changeset
102 retval = (type != 0 ? cnda.ifourierNd () : cnda.fourierNd ());
10154
40dfc0c99116 DLD-FUNCTIONS/*.cc: untabify
John W. Eaton <jwe@octave.org>
parents: 9523
diff changeset
103 }
4773
ccfbd6047a54 [project @ 2004-02-16 19:02:32 by jwe]
jwe
parents:
diff changeset
104 }
ccfbd6047a54 [project @ 2004-02-16 19:02:32 by jwe]
jwe
parents:
diff changeset
105 else
ccfbd6047a54 [project @ 2004-02-16 19:02:32 by jwe]
jwe
parents:
diff changeset
106 {
7789
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
107 if (arg.is_real_type ())
10154
40dfc0c99116 DLD-FUNCTIONS/*.cc: untabify
John W. Eaton <jwe@octave.org>
parents: 9523
diff changeset
108 {
40dfc0c99116 DLD-FUNCTIONS/*.cc: untabify
John W. Eaton <jwe@octave.org>
parents: 9523
diff changeset
109 NDArray nda = arg.array_value ();
7789
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
110
20555
f90c8372b7ba eliminate many more simple uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20172
diff changeset
111 nda.resize (dims, 0.0);
f90c8372b7ba eliminate many more simple uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20172
diff changeset
112 retval = (type != 0 ? nda.ifourierNd () : nda.fourierNd ());
10154
40dfc0c99116 DLD-FUNCTIONS/*.cc: untabify
John W. Eaton <jwe@octave.org>
parents: 9523
diff changeset
113 }
7789
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
114 else if (arg.is_complex_type ())
10154
40dfc0c99116 DLD-FUNCTIONS/*.cc: untabify
John W. Eaton <jwe@octave.org>
parents: 9523
diff changeset
115 {
40dfc0c99116 DLD-FUNCTIONS/*.cc: untabify
John W. Eaton <jwe@octave.org>
parents: 9523
diff changeset
116 ComplexNDArray cnda = arg.complex_array_value ();
7789
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
117
20555
f90c8372b7ba eliminate many more simple uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20172
diff changeset
118 cnda.resize (dims, 0.0);
f90c8372b7ba eliminate many more simple uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20172
diff changeset
119 retval = (type != 0 ? cnda.ifourierNd () : cnda.fourierNd ());
10154
40dfc0c99116 DLD-FUNCTIONS/*.cc: untabify
John W. Eaton <jwe@octave.org>
parents: 9523
diff changeset
120 }
7789
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
121 else
20555
f90c8372b7ba eliminate many more simple uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20172
diff changeset
122 gripe_wrong_type_arg (fcn, arg);
4773
ccfbd6047a54 [project @ 2004-02-16 19:02:32 by jwe]
jwe
parents:
diff changeset
123 }
ccfbd6047a54 [project @ 2004-02-16 19:02:32 by jwe]
jwe
parents:
diff changeset
124
ccfbd6047a54 [project @ 2004-02-16 19:02:32 by jwe]
jwe
parents:
diff changeset
125 return retval;
ccfbd6047a54 [project @ 2004-02-16 19:02:32 by jwe]
jwe
parents:
diff changeset
126 }
ccfbd6047a54 [project @ 2004-02-16 19:02:32 by jwe]
jwe
parents:
diff changeset
127
15039
e753177cde93 maint: Move non-dynamically linked functions from DLD-FUNCTIONS/ to corefcn/ directory
Rik <rik@octave.org>
parents: 14138
diff changeset
128 DEFUN (fftn, args, ,
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
129 "-*- texinfo -*-\n\
20853
1142cf6abc0d 2015 Code Sprint: remove class of function from docstring for all C++ files.
Rik <rik@octave.org>
parents: 20802
diff changeset
130 @deftypefn {} {} fftn (@var{A})\n\
1142cf6abc0d 2015 Code Sprint: remove class of function from docstring for all C++ files.
Rik <rik@octave.org>
parents: 20802
diff changeset
131 @deftypefnx {} {} fftn (@var{A}, @var{size})\n\
12160
b64b82721062 Make documentation static by removing docstrings depending on #ifdef variables
Rik <octave@nomad.inbox5.com>
parents: 11586
diff changeset
132 Compute the N-dimensional discrete Fourier transform of @var{A} using\n\
b64b82721062 Make documentation static by removing docstrings depending on #ifdef variables
Rik <octave@nomad.inbox5.com>
parents: 11586
diff changeset
133 a Fast Fourier Transform (FFT) algorithm.\n\
b64b82721062 Make documentation static by removing docstrings depending on #ifdef variables
Rik <octave@nomad.inbox5.com>
parents: 11586
diff changeset
134 \n\
20172
4f45eaf83908 doc: Update more docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents: 19697
diff changeset
135 The optional vector argument @var{size} may be used specify the dimensions\n\
4f45eaf83908 doc: Update more docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents: 19697
diff changeset
136 of the array to be used. If an element of @var{size} is smaller than the\n\
4f45eaf83908 doc: Update more docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents: 19697
diff changeset
137 corresponding dimension of @var{A}, then the dimension of @var{A} is\n\
4f45eaf83908 doc: Update more docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents: 19697
diff changeset
138 truncated prior to performing the FFT@. Otherwise, if an element of\n\
4f45eaf83908 doc: Update more docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents: 19697
diff changeset
139 @var{size} is larger than the corresponding dimension then @var{A} is\n\
4f45eaf83908 doc: Update more docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents: 19697
diff changeset
140 resized and padded with zeros.\n\
11553
01f703952eff Improve docstrings for functions in DLD-FUNCTIONS directory.
Rik <octave@nomad.inbox5.com>
parents: 11523
diff changeset
141 @seealso{ifftn, fft, fft2, fftw}\n\
5642
2618a0750ae6 [project @ 2006-03-06 21:26:48 by jwe]
jwe
parents: 5307
diff changeset
142 @end deftypefn")
4773
ccfbd6047a54 [project @ 2004-02-16 19:02:32 by jwe]
jwe
parents:
diff changeset
143 {
4782
3dfdf6f36854 [project @ 2004-02-17 16:23:22 by jwe]
jwe
parents: 4773
diff changeset
144 return do_fftn (args, "fftn", 0);
4773
ccfbd6047a54 [project @ 2004-02-16 19:02:32 by jwe]
jwe
parents:
diff changeset
145 }
ccfbd6047a54 [project @ 2004-02-16 19:02:32 by jwe]
jwe
parents:
diff changeset
146
15039
e753177cde93 maint: Move non-dynamically linked functions from DLD-FUNCTIONS/ to corefcn/ directory
Rik <rik@octave.org>
parents: 14138
diff changeset
147 DEFUN (ifftn, args, ,
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
148 "-*- texinfo -*-\n\
20853
1142cf6abc0d 2015 Code Sprint: remove class of function from docstring for all C++ files.
Rik <rik@octave.org>
parents: 20802
diff changeset
149 @deftypefn {} {} ifftn (@var{A})\n\
1142cf6abc0d 2015 Code Sprint: remove class of function from docstring for all C++ files.
Rik <rik@octave.org>
parents: 20802
diff changeset
150 @deftypefnx {} {} ifftn (@var{A}, @var{size})\n\
12160
b64b82721062 Make documentation static by removing docstrings depending on #ifdef variables
Rik <octave@nomad.inbox5.com>
parents: 11586
diff changeset
151 Compute the inverse N-dimensional discrete Fourier transform of @var{A}\n\
b64b82721062 Make documentation static by removing docstrings depending on #ifdef variables
Rik <octave@nomad.inbox5.com>
parents: 11586
diff changeset
152 using a Fast Fourier Transform (FFT) algorithm.\n\
b64b82721062 Make documentation static by removing docstrings depending on #ifdef variables
Rik <octave@nomad.inbox5.com>
parents: 11586
diff changeset
153 \n\
20172
4f45eaf83908 doc: Update more docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents: 19697
diff changeset
154 The optional vector argument @var{size} may be used specify the dimensions\n\
4f45eaf83908 doc: Update more docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents: 19697
diff changeset
155 of the array to be used. If an element of @var{size} is smaller than the\n\
4f45eaf83908 doc: Update more docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents: 19697
diff changeset
156 corresponding dimension of @var{A}, then the dimension of @var{A} is\n\
4f45eaf83908 doc: Update more docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents: 19697
diff changeset
157 truncated prior to performing the inverse FFT@. Otherwise, if an element of\n\
4f45eaf83908 doc: Update more docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents: 19697
diff changeset
158 @var{size} is larger than the corresponding dimension then @var{A} is\n\
4f45eaf83908 doc: Update more docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents: 19697
diff changeset
159 resized and padded with zeros.\n\
11553
01f703952eff Improve docstrings for functions in DLD-FUNCTIONS directory.
Rik <octave@nomad.inbox5.com>
parents: 11523
diff changeset
160 @seealso{fftn, ifft, ifft2, fftw}\n\
5642
2618a0750ae6 [project @ 2006-03-06 21:26:48 by jwe]
jwe
parents: 5307
diff changeset
161 @end deftypefn")
4773
ccfbd6047a54 [project @ 2004-02-16 19:02:32 by jwe]
jwe
parents:
diff changeset
162 {
4782
3dfdf6f36854 [project @ 2004-02-17 16:23:22 by jwe]
jwe
parents: 4773
diff changeset
163 return do_fftn (args, "ifftn", 1);
4773
ccfbd6047a54 [project @ 2004-02-16 19:02:32 by jwe]
jwe
parents:
diff changeset
164 }