Skip to content

Commit e8de6ea

Browse files
committed
- Silence various double->float conversion warnings (for Sample=float)
- Silence variable shadowing warnings.
1 parent 94d677b commit e8de6ea

File tree

2 files changed

+21
-21
lines changed

2 files changed

+21
-21
lines changed

fft.h

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ struct SimpleFFT {
110110
void resize(size_t size) {
111111
twiddles.resize(size*3/4);
112112
for (size_t i = 0; i < size*3/4; ++i) {
113-
Sample twiddlePhase = -2*M_PI*i/size;
113+
Sample twiddlePhase = -2*Sample(M_PI)*i/size;
114114
twiddles[i] = std::polar(Sample(1), twiddlePhase);
115115
}
116116
working.resize(size);
@@ -756,7 +756,7 @@ struct SplitFFT {
756756
auto *f1i = f0i + innerSize;
757757
auto *f2r = f0r + innerSize*2;
758758
auto *f2i = f0i + innerSize*2;
759-
const Sample tw1r = -0.5, tw1i = -std::sqrt(0.75)*(inverse ? -1 : 1);
759+
const Sample tw1r = -0.5, tw1i = -std::sqrt(Sample(0.75))*(inverse ? -1 : 1);
760760

761761
for (size_t i = 0; i < innerSize; ++i) {
762762
Sample ar = f0r[i], ai = f0i[i], br = f1r[i], bi = f1i[i], cr = f2r[i], ci = f2i[i];
@@ -818,10 +818,10 @@ struct SplitFFT {
818818
auto *f2 = f0 + innerSize*2;
819819
auto *f3 = f0 + innerSize*3;
820820
auto *f4 = f0 + innerSize*4;
821-
const Sample tw1r = 0.30901699437494745;
822-
const Sample tw1i = -0.9510565162951535*(inverse ? -1 : 1);
823-
const Sample tw2r = -0.8090169943749473;
824-
const Sample tw2i = -0.5877852522924732*(inverse ? -1 : 1);
821+
const Sample tw1r = Sample(0.30901699437494745);
822+
const Sample tw1i = Sample(-0.9510565162951535)*(inverse ? -1 : 1);
823+
const Sample tw2r = Sample(-0.8090169943749473);
824+
const Sample tw2i = Sample(-0.5877852522924732)*(inverse ? -1 : 1);
825825
for (size_t i = 0; i < innerSize; ++i) {
826826
Complex a = f0[i], b = f1[i], c = f2[i], d = f3[i], e = f4[i];
827827

@@ -851,10 +851,10 @@ struct SplitFFT {
851851
auto *f4r = f0r + innerSize*4;
852852
auto *f4i = f0i + innerSize*4;
853853

854-
const Sample tw1r = 0.30901699437494745;
855-
const Sample tw1i = -0.9510565162951535*(inverse ? -1 : 1);
856-
const Sample tw2r = -0.8090169943749473;
857-
const Sample tw2i = -0.5877852522924732*(inverse ? -1 : 1);
854+
const Sample tw1r = Sample(0.30901699437494745);
855+
const Sample tw1i = Sample(-0.9510565162951535)*(inverse ? -1 : 1);
856+
const Sample tw2r = Sample(-0.8090169943749473);
857+
const Sample tw2i = Sample(-0.5877852522924732)*(inverse ? -1 : 1);
858858
for (size_t i = 0; i < innerSize; ++i) {
859859
Sample ar = f0r[i], ai = f0i[i], br = f1r[i], bi = f1i[i], cr = f2r[i], ci = f2i[i], dr = f3r[i], di = f3i[i], er = f4r[i], ei = f4i[i];
860860

@@ -892,7 +892,7 @@ struct SplitFFT {
892892
offsetFreq[0] = sum;
893893

894894
for (size_t f = 1; f < outerSize; ++f) {
895-
Complex sum = dftTmp[0];
895+
sum = dftTmp[0];
896896

897897
for (size_t i2 = 1; i2 < outerSize; ++i2) {
898898
size_t twistIndex = (i2*f)%outerSize;
@@ -923,7 +923,7 @@ struct SplitFFT {
923923
offsetI[0] = sumI;
924924

925925
for (size_t f = 1; f < outerSize; ++f) {
926-
Sample sumR = *tmpR, sumI = *tmpI;
926+
sumR = *tmpR, sumI = *tmpI;
927927

928928
for (size_t i2 = 1; i2 < outerSize; ++i2) {
929929
size_t twistIndex = (i2*f)%outerSize;
@@ -966,18 +966,18 @@ struct RealFFT {
966966

967967
if (!halfBinShift) {
968968
for (size_t i = 0; i < twiddles.size(); ++i) {
969-
Sample rotPhase = i*(-2*M_PI/size) - M_PI/2; // bake rotation by (-i) into twiddles
969+
Sample rotPhase = i*(-2*Sample(M_PI)/size) - Sample(M_PI)/2; // bake rotation by (-i) into twiddles
970970
twiddles[i] = std::polar(Sample(1), rotPhase);
971971
}
972972
} else {
973973
for (size_t i = 0; i < twiddles.size(); ++i) {
974-
Sample rotPhase = (i + 0.5)*(-2*M_PI/size) - M_PI/2;
974+
Sample rotPhase = (i + Sample(0.5))*(-2*Sample(M_PI)/size) - Sample(M_PI)/2;
975975
twiddles[i] = std::polar(Sample(1), rotPhase);
976976
}
977977

978978
halfBinTwists.resize(hSize);
979979
for (size_t i = 0; i < hSize; ++i) {
980-
Sample twistPhase = -2*M_PI*i/size;
980+
Sample twistPhase = -2*Sample(M_PI)*i/size;
981981
halfBinTwists[i] = std::polar(Sample(1), twistPhase);
982982
}
983983
}
@@ -1001,7 +1001,7 @@ struct RealFFT {
10011001
Sample *tmpTimeR = (Sample *)tmpTime.data(), *tmpTimeI = tmpTimeR + hSize;
10021002
Sample *tmpFreqR = (Sample *)tmpFreq.data(), *tmpFreqI = tmpFreqR + hSize;
10031003
if (step-- == 0) {
1004-
size_t hSize = complexFft.size();
1004+
hSize = complexFft.size();
10051005
if (halfBinShift) {
10061006
for (size_t i = 0; i < hSize; ++i) {
10071007
Sample tr = time[2*i], ti = time[2*i + 1];
@@ -1209,7 +1209,7 @@ struct RealFFT {
12091209
} else if (step < complexFft.steps()) {
12101210
complexFft.ifft(step, tmpFreqR, tmpFreqI, tmpTimeR, tmpTimeI);
12111211
} else {
1212-
size_t hSize = complexFft.size();
1212+
hSize = complexFft.size();
12131213
if (halfBinShift) {
12141214
for (size_t i = 0; i < hSize; ++i) {
12151215
Sample tr = tmpTimeR[i], ti = tmpTimeI[i];

stft.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -445,7 +445,7 @@ struct DynamicSTFT {
445445
Output output;
446446

447447
private:
448-
static constexpr Sample almostZero = 1e-30;
448+
static constexpr Sample almostZero = Sample(1e-30);
449449

450450
size_t _analysisChannels, _synthesisChannels, _inputLengthSamples, _blockSamples, _fftSamples, _fftBins;
451451
size_t _defaultInterval = 0;
@@ -588,7 +588,7 @@ struct DynamicSTFT {
588588
for (size_t i = 0; i < size; ++i) {
589589
double r = (2*i + 1)*invSize - 1;
590590
double arg = std::sqrt(1 - r*r);
591-
data[i] = bessel0(beta*arg)*invB0;
591+
data[i] = static_cast<std::remove_reference<decltype(data[i])>::type>(bessel0(beta*arg)*invB0);
592592
}
593593
}
594594
};
@@ -617,7 +617,7 @@ struct DynamicSTFT {
617617
double norm = 1/(gaussian(0) - 2*offsetScale*(gaussian(2)));
618618
for (size_t i = 0; i < size; ++i) {
619619
double r = (2*i + 1)*invSize - 1;
620-
data[i] = norm*(gaussian(r) - offsetScale*(gaussian(r - 2) + gaussian(r + 2)));
620+
data[i] = static_cast<std::remove_reference<decltype(data[i])>::type>(norm * (gaussian(r) - offsetScale * (gaussian(r - 2) + gaussian(r + 2))));
621621
}
622622
}
623623
};
@@ -629,7 +629,7 @@ struct DynamicSTFT {
629629
for (size_t index = i; index < windowLength; index += interval) {
630630
sum2 += data[index]*data[index];
631631
}
632-
double factor = 1/std::sqrt(sum2);
632+
auto factor = static_cast<std::remove_reference<decltype(data[i])>::type>(1/std::sqrt(sum2));
633633
for (size_t index = i; index < windowLength; index += interval) {
634634
data[index] *= factor;
635635
}

0 commit comments

Comments
 (0)