LMMC
Lamina Mathematic core
载入中...
搜索中...
未找到
fft.h
浏览该文件的文档.
1#ifndef LMMC_FFT_H
2#define LMMC_FFT_H
3
4#include <stddef.h>
5#include "lmmc/config.h"
6#include "lmmc/status.h"
7
8#ifdef __cplusplus
9extern "C" {
10#endif
11
12
14lmmc_status_t lmmc_fft_radix4_next_size(size_t n, size_t* out_nfft);
15
30lmmc_status_t lmmc_fft_radix4(lmmc_real_t* real, lmmc_real_t* imag, size_t n, int inverse);
31
34
37
55 const lmmc_real_t* real_in, const lmmc_real_t* imag_in, size_t n,
56 lmmc_real_t* real_out, lmmc_real_t* imag_out, size_t* out_nfft);
57
58
78lmmc_status_t lmmc_fft(lmmc_real_t* real, lmmc_real_t* imag, size_t n, int inverse);
79
82
85
86#ifdef __cplusplus
87}
88#endif
89
90#endif
LMMC binary real type and arithmetic spelling.
double lmmc_real_t
Public and internal LMMC real type.
lmmc_status_t lmmc_fft_radix4_pad_into(const lmmc_real_t *real_in, const lmmc_real_t *imag_in, size_t n, lmmc_real_t *real_out, lmmc_real_t *imag_out, size_t *out_nfft)
将长度 n 的输入零填充至不小于它的最小 4 的幂。
定义 fft.c:327
lmmc_status_t lmmc_fft_radix4(lmmc_real_t *real, lmmc_real_t *imag, size_t n, int inverse)
对长度为 4 的幂的复数序列执行就地 radix-4 FFT。
lmmc_status_t lmmc_fft_inverse(lmmc_real_t *real, lmmc_real_t *imag, size_t n)
等价于 lmmc_fft(real, imag, n, 1) .
定义 fft.c:297
lmmc_status_t lmmc_fft_radix4_inverse(lmmc_real_t *real, lmmc_real_t *imag, size_t n)
等价于 lmmc_fft_radix4(real, imag, n, 1) .
lmmc_status_t lmmc_fft_forward(lmmc_real_t *real, lmmc_real_t *imag, size_t n)
等价于 lmmc_fft(real, imag, n, 0) .
定义 fft.c:293
lmmc_status_t lmmc_fft_radix4_next_size(size_t n, size_t *out_nfft)
计算不小于 n 的最小 4 的幂,用于 FFT 长度对齐。
lmmc_status_t lmmc_fft(lmmc_real_t *real, lmmc_real_t *imag, size_t n, int inverse)
计算任意长度 N 点 DFT(正变换或逆变换).
定义 fft.c:266
lmmc_status_t lmmc_fft_radix4_forward(lmmc_real_t *real, lmmc_real_t *imag, size_t n)
等价于 lmmc_fft_radix4(real, imag, n, 0) .
LMMC 通用状态码定义.
lmmc_status_t
LMMC 库统一返回的状态码.