summaryrefslogtreecommitdiffstats
path: root/flow/fft.h
blob: 93ea2036a5b5b0f478a33f14f905f597a46a136e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#ifndef ARTS_FFT_H
#define ARTS_FFT_H

/*
 * BC - Status (2002-03-08): arts_fft_float
 *
 * This fft interface should be obsoleted in the future in favour of one
 * exploiting the capabilities of gsl fully. However, it will be kept binary
 * compatible to avoid everybody to reimplement/duplicate their own fft.
 */

#include "arts_export.h"

#ifdef __cplusplus
extern "C" {
#endif

/**
 * performs an fft
 */
void arts_fft_float (
    unsigned  NumSamples,          /* must be a power of 2 */
    int       InverseTransform,    /* 0=forward FFT, 1=inverse FFT */
    float    *RealIn,              /* array of input's real samples */
    float    *ImaginaryIn,         /* array of input's imag samples */
    float    *RealOut,             /* array of output's reals */
    float    *ImaginaryOut )      /* array of output's imaginaries */
    ARTS_EXPORT;

#ifdef __cplusplus
}
#endif
#endif /* ARTS_FFT_H */