Skip to content
Snippets Groups Projects
Commit e426bbde authored by Thomas Jahns's avatar Thomas Jahns :cartwheel:
Browse files

Make implicit, potentially value-changing conversions explicit.

parent 9ff2e086
No related branches found
No related tags found
2 merge requests!91Add alternative code path for huge buffers.,!89Miscellaneous fixes and CDI-PIO improvements
......@@ -255,7 +255,7 @@ printInfo(CdiDateTime vdatetime, char *varname, double level, size_t datasize, i
}
}
if (datasize > 0) arrmean /= datasize;
if (datasize > 0) arrmean /= (double)datasize;
fprintf(stdout, "%#12.5g%#12.5g%#12.5g", arrmin, arrmean, arrmax);
}
......@@ -280,8 +280,8 @@ printInfo(CdiDateTime vdatetime, char *varname, double level, size_t datasize, i
imiss = datasize - nvals_r;
if (nvals_r > 0) arrmean_r = arrsum_r / nvals_r;
if (nvals_i > 0) arrmean_i = arrsum_i / nvals_i;
if (nvals_r > 0) arrmean_r = arrsum_r / (double)nvals_r;
if (nvals_i > 0) arrmean_i = arrsum_i / (double)nvals_i;
fprintf(stdout, " - (%#12.5g,%#12.5g) -", arrmean_r, arrmean_i);
}
......@@ -421,7 +421,7 @@ print_short_info(int streamID, int vlistID, int vardis)
fprintf(stdout, "%3d ", vlistZaxisIndex(vlistID, zaxisID) + 1);
// grid info
size_t gridsize = gridInqSize(gridID);
size_t gridsize = (size_t)gridInqSize(gridID);
fprintf(stdout, "%9zu ", gridsize);
fprintf(stdout, "%3d ", vlistGridIndex(vlistID, gridID) + 1);
......@@ -802,7 +802,7 @@ main(int argc, char *argv[])
switch (c)
{
case 'b': setDefaultDataType(optarg); break;
case 'C': queryCellidx[numQueryCellidx++] = atol(optarg); break;
case 'C': queryCellidx[numQueryCellidx++] = (size_t)atol(optarg); break;
case 'd': Debug = 1; break;
case 'E': cdiDefGlobal("ECCODES_GRIB1", true); break;
case 'f': setDefaultFileType(optarg); break;
......@@ -911,10 +911,10 @@ main(int argc, char *argv[])
for (varID = 0; varID < nvars; varID++)
{
int gridID = vlistInqVarGrid(vlistID1, varID);
size_t gridsize = gridInqSize(gridID);
size_t gridsize = (size_t)gridInqSize(gridID);
if (gridsize > datasize) datasize = gridsize;
int zaxisID = vlistInqVarZaxis(vlistID1, varID);
size_t nlev = zaxisInqSize(zaxisID);
size_t nlev = (size_t)zaxisInqSize(zaxisID);
if (nlev > maxlev) maxlev = nlev;
if (fname2)
{
......@@ -1034,7 +1034,7 @@ main(int argc, char *argv[])
if (Debug) fprintf(stdout, "varID = %d param = %d gridID = %d zaxisID = %d\n", varID, param, gridID, zaxisID);
size_t gridsize = gridInqSize(gridID);
size_t gridsize = (size_t)gridInqSize(gridID);
double missval = vlistInqVarMissval(vlistID1, varID);
streamReadVar(streamID1, varID, data, &nmiss);
......@@ -1043,8 +1043,8 @@ main(int argc, char *argv[])
for (levelID = 0; levelID < nlevs; levelID++)
{
double level = zaxisInqLevels(zaxisID, NULL) ? zaxisInqLevel(zaxisID, levelID) : levelID + 1;
size_t offset = levelID * gridsize;
if (Info) printInfo(vdatetime, varname, level, gridsize, number, nmiss, missval, data + offset, Vardis);
size_t offset = (size_t)levelID * gridsize;
if (Info) printInfo(vdatetime, varname, level, gridsize, number, (size_t)nmiss, missval, data + offset, Vardis);
}
if (fname2) streamWriteVar(streamID2, varID, data, nmiss);
......@@ -1070,7 +1070,7 @@ main(int argc, char *argv[])
if (Debug) fprintf(stdout, "varID = %d param = %d gridID = %d zaxisID = %d\n", varID, param, gridID, zaxisID);
size_t gridsize = gridInqSize(gridID);
size_t gridsize = (size_t)gridInqSize(gridID);
double missval = vlistInqVarMissval(vlistID1, varID);
int nlevs = zaxisInqSize(zaxisID);
......@@ -1079,7 +1079,7 @@ main(int argc, char *argv[])
double level = zaxisInqLevels(zaxisID, NULL) ? zaxisInqLevel(zaxisID, levelID) : levelID + 1;
streamReadVarSlice(streamID1, varID, levelID, data, &nmiss);
if (Info) printInfo(vdatetime, varname, level, gridsize, number, nmiss, missval, data, Vardis);
if (Info) printInfo(vdatetime, varname, level, gridsize, number, (size_t)nmiss, missval, data, Vardis);
if (fname2) streamWriteVarSlice(streamID2, varID, levelID, data, nmiss);
}
......
......@@ -15,14 +15,14 @@
void
datetime2str(CdiDateTime dt, char *datetimestr, int maxlen)
{
snprintf(datetimestr, maxlen, DATE_FORMAT "T" TIME_FORMAT, dt.date.year, dt.date.month, dt.date.day, dt.time.hour, dt.time.minute,
snprintf(datetimestr, (size_t)maxlen, DATE_FORMAT "T" TIME_FORMAT, dt.date.year, dt.date.month, dt.date.day, dt.time.hour, dt.time.minute,
dt.time.second);
}
void
date2str(CdiDate date, char *datestr, int maxlen)
{
snprintf(datestr, maxlen, DATE_FORMAT, date.year, date.month, date.day);
snprintf(datestr, (size_t)maxlen, DATE_FORMAT, date.year, date.month, date.day);
}
void
......@@ -36,17 +36,17 @@ time2str(CdiTime time, char *timestr, int maxlen)
char *envString = getenv("CDI_MS_DIGITS");
if (envString)
{
int ival = atol(envString);
int ival = (int)atol(envString);
if (ival > 0) msDigitsNum = ival;
if (ival > 3) msDigitsNum = 3;
}
}
if (msDigitsNum)
snprintf(timestr, maxlen, "%2.2d:%2.2d:%0*.*f", time.hour, time.minute, msDigitsNum + 3, msDigitsNum,
snprintf(timestr, (size_t)maxlen, "%2.2d:%2.2d:%0*.*f", time.hour, time.minute, msDigitsNum + 3, msDigitsNum,
time.second + time.ms / 1000.0);
else
snprintf(timestr, maxlen, TIME_FORMAT, time.hour, time.minute, time.second);
snprintf(timestr, (size_t)maxlen, TIME_FORMAT, time.hour, time.minute, time.second);
}
const char *
......@@ -180,7 +180,7 @@ print_xyvals2D(int gridID, int dig)
length = CDI_MAX_NAME;
cdiInqKeyString(gridID, CDI_YAXIS, CDI_KEY_UNITS, yunits, &length);
size_t gridsize = gridInqSize(gridID);
size_t gridsize = (size_t)gridInqSize(gridID);
double *xvals2D = (double *) malloc(gridsize * sizeof(double));
double *yvals2D = (double *) malloc(gridsize * sizeof(double));
......@@ -204,13 +204,13 @@ print_xyvals2D(int gridID, int dig)
int gridtype = gridInqType(gridID);
if (gridtype == GRID_CURVILINEAR)
{
size_t xsize = gridInqXsize(gridID);
size_t ysize = gridInqYsize(gridID);
size_t xsize = (size_t)gridInqXsize(gridID);
size_t ysize = (size_t)gridInqYsize(gridID);
if (xsize > 1)
{
double *xvals = (double *) malloc((size_t) xsize * sizeof(double));
for (size_t i = 0; i < xsize; ++i) xvals[i] = xvals2D[i];
xinc = fabs(xvals[xsize - 1] - xvals[0]) / (xsize - 1);
xinc = fabs(xvals[xsize - 1] - xvals[0]) / (double)(xsize - 1);
for (size_t i = 1; i < xsize; i++)
if (fabs(fabs(xvals[i - 1] - xvals[i]) - xinc) > 0.01 * xinc)
{
......@@ -233,7 +233,7 @@ print_xyvals2D(int gridID, int dig)
{
double *yvals = (double *) malloc((size_t) ysize * sizeof(double));
for (size_t i = 0; i < ysize; ++i) yvals[i] = yvals2D[i * xsize];
yinc = fabs(yvals[ysize - 1] - yvals[0]) / (ysize - 1);
yinc = fabs(yvals[ysize - 1] - yvals[0]) / (double)(ysize - 1);
for (size_t i = 1; i < ysize; i++)
if (fabs(fabs(yvals[i - 1] - yvals[i]) - yinc) > 0.01 * yinc)
{
......@@ -296,9 +296,9 @@ printGridInfoKernel(int gridID, int index, bool lproj)
fprintf(stderr, "Internal problem (%s): sub grid not equal GRID_PROJECTION!\n", __func__);
int trunc = gridInqTrunc(gridID);
size_t gridsize = gridInqSize(gridID);
size_t xsize = gridInqXsize(gridID);
size_t ysize = gridInqYsize(gridID);
size_t gridsize = (size_t)gridInqSize(gridID);
size_t xsize = (size_t)gridInqXsize(gridID);
size_t ysize = (size_t)gridInqYsize(gridID);
// int prec = gridInqDatatype(gridID);
// int dig = (prec == CDI_DATATYPE_FLT64) ? 15 : 7;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment