Skip to content

Commit c67a54a

Browse files
committed
keytap2-gui : fix critical bug with integer overflow in CC computation
The cross-correlation computation was completely broken due to 16-bit integer overflow. Not sure how this even worked before.
1 parent 3a7d3c5 commit c67a54a

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

Diff for: common.cpp

+3-3
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,7 @@ std::tuple<int64_t, int64_t> calcSum(const TWaveformViewT<T> & waveform) {
219219
auto n = waveform.n;
220220

221221
for (int is = 0; is < n; ++is) {
222-
auto a0 = samples[is];
222+
int32_t a0 = samples[is];
223223
sum += a0;
224224
sum2 += a0*a0;
225225
}
@@ -298,8 +298,8 @@ TValueCC calcCC(
298298
auto n = std::min(n0, n1);
299299

300300
for (int64_t is = 0; is < n; ++is) {
301-
auto a0 = samples0[is];
302-
auto a1 = samples1[is];
301+
int32_t a0 = samples0[is];
302+
int32_t a1 = samples1[is];
303303

304304
sum1 += a1;
305305
sum12 += a1*a1;

0 commit comments

Comments
 (0)