History

allocate arrays for minblep building

Matthew Wang committed 6 years ago

Commit 686fe2f1 parent 59b55dd2 files · +19 −13Browse files

Unified · Split

2 files
  1. leaf/Inc/leaf-oscillators.h +5 −0
  2. leaf/Src/leaf-oscillators.c +14 −13
leaf/Inc/leaf-oscillators.h+5−0
@@ -898,6 +898,11 @@ extern "C" { · 897 unmodified lines
898898 int minBlepSize;
899899 float* minBlepArray;
900900 float* minBlepDerivArray;
901+
902+ float* realTime;
903+ float* imagTime;
904+ float* realFreq;
905+ float* imagFreq;
901906 } _tMinBLEP;
902907
903908 typedef _tMinBLEP* tMinBLEP;
leaf/Src/leaf-oscillators.c+14−13
@@ -973,6 +973,11 @@ void tMinBLEP_initToPool (tMinBLEP* const minblep, int zeroCrossings, int · 972 unmodified lines
973973 mb->minBlepArray = (float*) mpool_alloc(sizeof(float) * mb->minBlepSize, m);
974974 mb->minBlepDerivArray = (float*) mpool_alloc(sizeof(float) * mb->minBlepSize, m);
975975
976+ mb->realTime = (float*) mpool_alloc(sizeof(float) * mb->minBlepSize, m);
977+ mb->imagTime = (float*) mpool_alloc(sizeof(float) * mb->minBlepSize, m);
978+ mb->realFreq = (float*) mpool_alloc(sizeof(float) * mb->minBlepSize, m);
979+ mb->imagFreq = (float*) mpool_alloc(sizeof(float) * mb->minBlepSize, m);
980+
976981 tMinBLEP_buildBLEP(minblep);
977982 }
978983
@@ -989,6 +994,11 @@ void tMinBLEP_freeFromPool (tMinBLEP* const minblep, tMempool* const mp) · 10 unmodified lines
989994 mpool_free((char*)mb->minBlepArray, m);
990995 mpool_free((char*)mb->minBlepDerivArray, m);
991996
997+ mpool_free((char*)mb->realTime, m);
998+ mpool_free((char*)mb->imagTime, m);
999+ mpool_free((char*)mb->realFreq, m);
1000+ mpool_free((char*)mb->imagFreq, m);
1001+
9921002 mpool_free((char*)mb, m);
9931003 }
9941004
@@ -1089,15 +1099,10 @@ static void complexexp(float x, float y, float *zx, float *zy) · 94 unmodified lines
10891099 }
10901100
10911101 // Compute Real Cepstrum Of Signal
1092−static void RealCepstrum(int n, float *signal, float *realCepstrum)
1102+static void RealCepstrum(int n, float *signal, float *realCepstrum, float* realTime, float* imagTime, float* realFreq, float* imagFreq)
10931103 {
10941104 int i;
10951105
1096− float realTime[n];
1097− float imagTime[n];
1098− float realFreq[n];
1099− float imagFreq[n];
1100−
11011106 // Compose Complex FFT Input
11021107
11031108 for(i = 0; i < n; i++)
@@ -1128,13 +1133,9 @@ static void RealCepstrum(int n, float *signal, float *realCepstrum) · 24 unmodified lines
11281133 }
11291134
11301135 // Compute Minimum Phase Reconstruction Of Signal
1131−static void MinimumPhase(int n, float *realCepstrum, float *minimumPhase)
1136+static void MinimumPhase(int n, float *realCepstrum, float *minimumPhase, float* realTime, float* imagTime, float* realFreq, float* imagFreq)
11321137 {
11331138 int i, nd2;
1134− float realTime[n];
1135− float imagTime[n];
1136− float realFreq[n];
1137− float imagFreq[n];
11381139
11391140 nd2 = n / 2;
11401141
@@ -1200,8 +1201,8 @@ void tMinBLEP_buildBLEP(tMinBLEP* const minblep) · 59 unmodified lines
12001201
12011202 // Minimum Phase Reconstruction
12021203
1203− RealCepstrum(n, m->minBlepArray, m->minBlepDerivArray);
1204− MinimumPhase(n, m->minBlepDerivArray, m->minBlepArray);
1204+ RealCepstrum(n, m->minBlepArray, m->minBlepDerivArray, m->realTime, m->imagTime, m->realFreq, m->imagFreq);
1205+ MinimumPhase(n, m->minBlepDerivArray, m->minBlepArray, m->realTime, m->imagTime, m->realFreq, m->imagFreq);
12051206
12061207 // Integrate Into MinBLEP
12071208 a = 0.0f;

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t