compress_scalar for average works correctly now

This commit is contained in:
Simon Rose authored and Michael Davidsaver committed 2023-03-10 09:51:08 +00:00
1 parent bf4a4c6b78
commit 11a4bed9aa
3 files changed
+22 -63

No files matched your search

@@ -294,19 +294,13 @@ static int compress_scalar(struct compressRecord *prec,double *psource)
/* for scalars, Median not implemented => use average */
case (compressALG_N_to_1_Average):
case (compressALG_N_to_1_Median):
if (inx == 0)
*pdest = value;
else {
*pdest += value;
if (inx + 1 >= prec->n)
*pdest = *pdest / (inx + 1);
}
*pdest = (inx * (*pdest) + value) / (inx + 1);
break;
}
inx++;
if (inx >= prec->n || prec->pbuf == menuYesNoYES) {
if ((inx >= prec->n) || (prec->pbuf == menuYesNoYES)) {
put_value(prec,pdest,1);
prec->inx = 0;
prec->inx = (inx >= prec->n) ? 0 : inx;
return 0;
} else {
prec->inx = inx;