36 std::valarray<std::complex<T>> &output,
37 int rank,
int* n,
int howmany,
38 int* inembed,
int istride,
int idist,
39 int* onembed,
int ostride,
int odist,
int sign);
45 std::complex<T>* output,
46 int rank,
int* n,
int howmany,
47 int* inembed,
int istride,
int idist,
48 int* onembed,
int ostride,
int odist,
int sign);
54 std::valarray<std::complex<T>> &output,
55 int rank,
int* n,
int howmany,
56 int* inembed,
int istride,
int idist,
57 int* onembed,
int ostride,
int odist);
63 std::complex<T>* output,
64 int rank,
int* n,
int howmany,
65 int* inembed,
int istride,
int idist,
66 int* onembed,
int ostride,
int odist);
72 std::valarray<std::complex<T>> &output,
73 int rank,
int* n,
int howmany,
74 int* inembed,
int istride,
int idist,
75 int* onembed,
int ostride,
int odist,
int sign);
81 std::complex<T>* output,
82 int rank,
int* n,
int howmany,
83 int* inembed,
int istride,
int idist,
84 int* onembed,
int ostride,
int odist,
int sign);
91 std::valarray<T>& output,
92 int rank,
int* n,
int howmany,
93 int* inembed,
int istride,
int idist,
94 int* onembed,
int ostride,
int odist);
102 int rank,
int* n,
int howmany,
103 int* inembed,
int istride,
int idist,
104 int* onembed,
int ostride,
int odist);
107 void forward(std::valarray<std::complex<T>> &input,
108 std::valarray<std::complex<T>> &output);
111 void forward(std::complex<T>* input,
112 std::complex<T>* output);
115 void forward(std::valarray<T> &input,
116 std::valarray<std::complex<T>> &output);
120 std::complex<T>* output);
125 void inverse(std::valarray<std::complex<T>> &input,
126 std::valarray<std::complex<T>> &output);
129 void inverse(std::complex<T>* input,
130 std::complex<T>* output);
133 void inverse(std::valarray<std::complex<T>>& input,
134 std::valarray<T>& output);
137 void inverse(std::complex<T>* input,
146 std::valarray<std::complex<T>>& spectrum,
147 int ncolumns,
int nrows);
155 std::complex<T>* spectrum,
156 int ncolumns,
int nrows);
164 std::valarray<std::complex<T>>& spectrum,
165 int ncolumns,
int nrows);
173 std::complex<T>* spectrum,
174 int ncolumns,
int nrows);
182 std::valarray<std::complex<T>> &spectrum,
183 int ncolumns,
int nrows);
191 std::complex<T>* spectrum,
192 int ncolumns,
int nrows);
200 std::valarray<std::complex<T>> &spectrum,
201 int ncolumns,
int nrows);
209 std::complex<T>* spectrum,
210 int ncolumns,
int nrows);
214 void forward2DFFT(std::valarray<std::complex<T>> &signal,
215 std::valarray<std::complex<T>> &spectrum,
216 int ncolumns,
int nrows);
220 void forward2DFFT(std::valarray<std::complex<T>> &signal,
221 std::valarray<std::complex<T>> &spectrum,
222 int incolumns,
int inrows,
223 int oncolumns,
int onrows);
228 std::complex<T>* spectrum,
229 int ncolumns,
int nrows);
234 std::complex<T>* spectrum,
235 int incolumns,
int inrows,
236 int oncolumns,
int onrows);
241 std::valarray<std::complex<T>>& spectrum,
242 int ncolumns,
int nrows);
247 std::valarray<std::complex<T>>& spectrum,
248 int incolumns,
int inrows,
249 int oncolumns,
int onrows);
254 std::complex<T>* spectrum,
255 int ncolumns,
int nrows);
260 std::complex<T>* spectrum,
261 int incolumns,
int inrows,
262 int oncolumns,
int onrows);
267 std::valarray<std::complex<T>> &signal,
268 int ncolumns,
int nrows);
273 std::complex<T>* signal,
274 int ncolumns,
int nrows);
279 std::valarray<T> &signal,
280 int ncolumns,
int nrows);
286 int ncolumns,
int nrows);
291 std::valarray<std::complex<T>> &signal,
292 int ncolumns,
int nrows);
297 std::complex<T>* signal,
298 int ncolumns,
int nrows);
302 std::valarray<T> &signal,
303 int ncolumns,
int nrows);
309 int ncolumns,
int nrows);
313 void inverse2DFFT(std::valarray<std::complex<T>> &spectrum,
314 std::valarray<std::complex<T>> &signal,
315 int ncolumns,
int nrows);
320 std::complex<T>* signal,
321 int ncolumns,
int nrows);
325 void inverse2DFFT(std::valarray<std::complex<T>> &spectrum,
326 std::valarray<T> &signal,
327 int ncolumns,
int nrows);
333 int ncolumns,
int nrows);
337 void upsample(std::valarray<std::complex<T>> &signal,
338 std::valarray<std::complex<T>> &signalOversampled,
339 int rows,
int fft_size,
int oversampleFactor);
345 void upsample(std::valarray<std::complex<T>> &signal,
346 std::valarray<std::complex<T>> &signalOversampled,
347 int rows,
int fft_size,
int oversampleFactor,
348 std::valarray<std::complex<T>> shiftImpact);
355 isce3::core::EArray2D<std::complex<T>>& signal,
356 isce3::core::EArray2D<std::complex<T>>& signalUpsampled,
357 const isce3::core::EArray2D<std::complex<T>>& shiftImpact = {});
360 void upsample2D(std::valarray<std::complex<T>> &signal,
361 std::valarray<std::complex<T>> &signalOversampled,
362 int oversampleFactor);
368 void upsample2D(std::valarray<std::complex<T>> &signal,
369 std::valarray<std::complex<T>> &signalOversampled,
370 int oversampleFactor,
371 std::valarray<std::complex<T>> &shiftImpact);
376 std::complex<T> *signalOversampled,
377 int oversampleFactor);
384 std::complex<T> *signalOversampled,
385 int oversampleFactor,
386 std::complex<T> *shiftImpact);
397 int* inembed,
int istride,
int idist,
398 int* onembed,
int ostride,
int odist);
402 int* inembed,
int istride,
int idist,
403 int* onembed,
int ostride,
int odist);
447 std::unique_ptr<impl, void(*)(impl*)> pimpl;