From f0cbf11ac7add261acdc22939466c9463420a5a1 Mon Sep 17 00:00:00 2001 From: Alex Duan <417921451@qq.com> Date: Tue, 18 Jun 2024 19:39:57 +0800 Subject: [PATCH] fix: double covert ulong warning --- utils/TSZ/sz/src/sz_double.c | 4 ++-- utils/TSZ/sz/src/sz_float.c | 18 ++++++++++++------ 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/utils/TSZ/sz/src/sz_double.c b/utils/TSZ/sz/src/sz_double.c index 0510fc612d..7fe5a07843 100644 --- a/utils/TSZ/sz/src/sz_double.c +++ b/utils/TSZ/sz/src/sz_double.c @@ -385,11 +385,11 @@ unsigned int optimize_intervals_double_1D_opt(double *oriData, size_t dataLength totalSampleSize++; pred_value = data_pos[-1]; pred_err = fabs(pred_value - *data_pos); - double dbri = (unsigned long)((pred_err/realPrecision+1)/2); + double dbri = (pred_err/realPrecision+1)/2; if(dbri >= (double)confparams_cpr->maxRangeRadius) radiusIndex = confparams_cpr->maxRangeRadius - 1; else - radiusIndex = dbri; + radiusIndex = (size_t)dbri; intervals[radiusIndex]++; data_pos += confparams_cpr->sampleDistance; diff --git a/utils/TSZ/sz/src/sz_float.c b/utils/TSZ/sz/src/sz_float.c index 4b18eb6ee8..e5dc40f003 100644 --- a/utils/TSZ/sz/src/sz_float.c +++ b/utils/TSZ/sz/src/sz_float.c @@ -53,9 +53,12 @@ unsigned int optimize_intervals_float_1D(float *oriData, size_t dataLength, doub //pred_value = 2*oriData[i-1] - oriData[i-2]; pred_value = oriData[i-1]; pred_err = fabs(pred_value - oriData[i]); - radiusIndex = (unsigned long)((pred_err/realPrecision+1)/2); - if(radiusIndex>=confparams_cpr->maxRangeRadius) - radiusIndex = confparams_cpr->maxRangeRadius - 1; + double dbri = (pred_err/realPrecision+1)/2; + if(dbri >= confparams_cpr->maxRangeRadius) { + radiusIndex = confparams_cpr->maxRangeRadius - 1; + } else { + radiusIndex = (size_t)dbri; + } intervals[radiusIndex]++; } } @@ -404,9 +407,12 @@ unsigned int optimize_intervals_float_1D_opt(float *oriData, size_t dataLength, totalSampleSize++; pred_value = data_pos[-1]; pred_err = fabs(pred_value - *data_pos); - radiusIndex = (unsigned long)((pred_err/realPrecision+1)/2); - if(radiusIndex>=confparams_cpr->maxRangeRadius) - radiusIndex = confparams_cpr->maxRangeRadius - 1; + double dbri = (pred_err/realPrecision+1)/2; + if(dbri >= confparams_cpr->maxRangeRadius) { + radiusIndex = confparams_cpr->maxRangeRadius - 1; + } else { + radiusIndex = (size_t)dbri; + } intervals[radiusIndex]++; data_pos += confparams_cpr->sampleDistance;