add core files
This commit is contained in:
69
Classes/fft.cpp
Normal file
69
Classes/fft.cpp
Normal file
@@ -0,0 +1,69 @@
|
||||
//
|
||||
// File: fft.cpp
|
||||
//
|
||||
// MATLAB Coder version : 4.3
|
||||
// C/C++ source code generated on : 30-Mar-2020 11:59:32
|
||||
//
|
||||
|
||||
// Include Files
|
||||
#include "fft.h"
|
||||
#include "cwt.h"
|
||||
#include "fft1.h"
|
||||
#include "rt_nonfinite.h"
|
||||
#include <cstring>
|
||||
#include <string.h>
|
||||
|
||||
// Function Definitions
|
||||
|
||||
//
|
||||
// Arguments : const double x_data[]
|
||||
// const int x_size[2]
|
||||
// creal_T y_data[]
|
||||
// int y_size[2]
|
||||
// Return Type : void
|
||||
//
|
||||
void fft(const double x_data[], const int x_size[2], creal_T y_data[], int
|
||||
y_size[2])
|
||||
{
|
||||
boolean_T useRadix2;
|
||||
int N2blue;
|
||||
int nRows;
|
||||
static double costab_data[7683];
|
||||
int costab_size[2];
|
||||
static double sintab_data[7683];
|
||||
int sintab_size[2];
|
||||
double sintabinv_data[7683];
|
||||
int sintabinv_size[2];
|
||||
int x[1];
|
||||
creal_T b_y_data[3841];
|
||||
int b_y_size[1];
|
||||
if (x_size[1] != 0) {
|
||||
useRadix2 = ((x_size[1] & (x_size[1] - 1)) == 0);
|
||||
get_algo_sizes(x_size[1], useRadix2, &N2blue, &nRows);
|
||||
generate_twiddle_tables(nRows, useRadix2, costab_data, costab_size,
|
||||
sintab_data, sintab_size, sintabinv_data, sintabinv_size);
|
||||
if (useRadix2) {
|
||||
x[0] = x_size[1];
|
||||
r2br_r2dit_trig(x_data, x, x_size[1], costab_data, sintab_data, b_y_data,
|
||||
b_y_size);
|
||||
} else {
|
||||
x[0] = x_size[1];
|
||||
dobluesteinfft(x_data, x, N2blue, x_size[1], costab_data, costab_size,
|
||||
sintab_data, sintab_size, sintabinv_data, sintabinv_size,
|
||||
b_y_data, b_y_size);
|
||||
}
|
||||
}
|
||||
|
||||
y_size[0] = 1;
|
||||
y_size[1] = x_size[1];
|
||||
N2blue = x_size[1];
|
||||
if (0 <= N2blue - 1) {
|
||||
std::memcpy(&y_data[0], &b_y_data[0], N2blue * sizeof(creal_T));
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// File trailer for fft.cpp
|
||||
//
|
||||
// [EOF]
|
||||
//
|
||||
Reference in New Issue
Block a user