libclod
C library for interacting with NBTs, region files, LOD data and other things.
Loading...
Searching...
No Matches
fft.h
1#ifndef LIBCLOD_FFT_H
2#define LIBCLOD_FFT_H
3
4#include <clod/lib.h>
5#include <stdint.h>
6
8#define CLOD_FFT_INPUT 0x0100
10#define CLOD_FFT_OUTPUT 0x010000
11
13#define CLOD_FFT_TIME_COMPLEX 1
15#define CLOD_FFT_TIME_MAG_PACKED 2
17#define CLOD_FFT_FREQ_COMPLEX 3
19#define CLOD_FFT_FREQ_MAG 4
20
22#define CLOD_FFT_FORWARD (CLOD_FFT_INPUT * CLOD_FFT_TIME_COMPLEX + CLOD_FFT_OUTPUT * CLOD_FFT_FREQ_COMPLEX)
24#define CLOD_FFT_INVERSE (CLOD_FFT_INPUT * CLOD_FFT_FREQ_COMPLEX + CLOD_FFT_OUTPUT * CLOD_FFT_TIME_COMPLEX)
26#define CLOD_FFT_EXTRACT (CLOD_FFT_INPUT * CLOD_FFT_TIME_COMPLEX + CLOD_FFT_OUTPUT * CLOD_FFT_FREQ_MAG)
28#define CLOD_FFT_RECONSTRUCT (CLOD_FFT_INPUT * CLOD_FFT_FREQ_MAG + CLOD_FFT_OUTPUT * CLOD_FFT_TIME_COMPLEX)
29
38CLOD_API CLOD_NONNULL(1)
39void clod_fft(float *restrict data, size_t len, int opt);
40
41#endif