#include "framework.h" #include "math.h" #include "fftw3.h" #include "GetFreq_REC.h" // *** object initialization *** GetFreq_REC::GetFreq_REC() { brUz = 0; sWitch = 0; R = NULL; largest = NULL; X = new double[1014]; S = new double* [26]; for (int i = 0; i < 26; i++) S[i] = new double[78]; S1 = new double* [26]; for (int i = 0; i < 26; i++) S1[i] = new double[26]; S2 = new double* [26]; for (int i = 0; i < 26; i++) S2[i] = new double[13]; SX_R = new double* [26]; for (int i = 0; i < 26; i++) SX_R[i] = new double[26]; SX_G = new double* [26]; for (int i = 0; i < 26; i++) SX_G[i] = new double[26]; SX_B = new double* [26]; for (int i = 0; i < 26; i++) SX_B[i] = new double[26]; x = (double*)fftw_malloc(sizeof(double) * 26 * 26); y = (fftw_complex*)fftw_malloc(sizeof(fftw_complex) * 26 * 14); plan = fftw_plan_dft_r2c_2d(26, 26, x, y, FFTW_ESTIMATE); } // *** object destruction *** GetFreq_REC::~GetFreq_REC() { delete[] X; for (int i = 0; i < 26; i++) delete[]S[i]; delete[]S; for (int i = 0; i < 26; i++) delete[]S1[i]; delete[]S1; for (int i = 0; i < 26; i++) delete[]S2[i]; delete[]S2; for (int i = 0; i < 26; i++) delete[]SX_R[i]; delete[]SX_R; for (int i = 0; i < 26; i++) delete[]SX_G[i]; delete[]SX_G; for (int i = 0; i < 26; i++) delete[]SX_B[i]; delete[]SX_B; fftw_free(x); fftw_free(y); fftw_destroy_plan(plan); }