[g2clib] Fix warning about conversion from double to float

This commit is contained in:
Roland Winklmeier
2016-01-12 23:27:54 +01:00
parent c226b07c5b
commit 2fa0c669df
7 changed files with 38 additions and 37 deletions

View File

@@ -77,12 +77,12 @@ void compack(g2float *fld,g2int ndpts,g2int idrsnum,g2int *idrstmpl,
g2int missopt, miss1, miss2, ier; g2int missopt, miss1, miss2, ier;
g2float bscale,dscale,rmax,rmin,temp; g2float bscale,dscale,rmax,rmin,temp;
static g2int simple_alg = 0; static g2int simple_alg = 0;
static g2float alog2=0.69314718; // ln(2.0) static g2float alog2=0.69314718f; // ln(2.0)
static g2int one=1; static g2int one=1;
ival1 = 0; ival1 = 0;
bscale=int_power(2.0,-idrstmpl[1]); bscale=(g2float)int_power(2.0,-idrstmpl[1]);
dscale=int_power(10.0,idrstmpl[2]); dscale=(g2float)int_power(10.0,idrstmpl[2]);
// //
// Find max and min values in the data // Find max and min values in the data
// //
@@ -151,7 +151,7 @@ void compack(g2float *fld,g2int ndpts,g2int idrsnum,g2int *idrstmpl,
// find num of bits need to store minsd and add 1 extra bit // find num of bits need to store minsd and add 1 extra bit
// to indicate sign // to indicate sign
// //
temp=log((double)(abs(minsd)+1))/alog2; temp=(g2float)log((double)(abs(minsd)+1))/alog2;
nbitsd=(g2int)ceil(temp)+1; nbitsd=(g2int)ceil(temp)+1;
// //
// find num of bits need to store ifld[0] ( and ifld[1] // find num of bits need to store ifld[0] ( and ifld[1]
@@ -159,7 +159,7 @@ void compack(g2float *fld,g2int ndpts,g2int idrsnum,g2int *idrstmpl,
// //
maxorig=ival1; maxorig=ival1;
if (idrstmpl[16]==2 && ival2>ival1) maxorig=ival2; if (idrstmpl[16]==2 && ival2>ival1) maxorig=ival2;
temp=log((double)(maxorig+1))/alog2; temp=(g2float)log((double)(maxorig+1))/alog2;
nbitorig=(g2int)ceil(temp)+1; nbitorig=(g2int)ceil(temp)+1;
if (nbitorig > nbitsd) nbitsd=nbitorig; if (nbitorig > nbitsd) nbitsd=nbitorig;
// increase number of bits to even multiple of 8 ( octet ) // increase number of bits to even multiple of 8 ( octet )
@@ -261,7 +261,7 @@ void compack(g2float *fld,g2int ndpts,g2int idrsnum,g2int *idrstmpl,
} }
// calc num of bits needed to hold data // calc num of bits needed to hold data
if ( gref[ng] != imax ) { if ( gref[ng] != imax ) {
temp=log((double)(imax-gref[ng]+1))/alog2; temp=(g2float)log((double)(imax-gref[ng]+1))/alog2;
gwidth[ng]=(g2int)ceil(temp); gwidth[ng]=(g2int)ceil(temp);
} }
else else
@@ -283,7 +283,7 @@ void compack(g2float *fld,g2int ndpts,g2int idrsnum,g2int *idrstmpl,
igmax=gref[0]; igmax=gref[0];
for (j=1;j<ngroups;j++) if (gref[j] > igmax) igmax=gref[j]; for (j=1;j<ngroups;j++) if (gref[j] > igmax) igmax=gref[j];
if (igmax != 0) { if (igmax != 0) {
temp=log((double)(igmax+1))/alog2; temp=(g2float)log((double)(igmax+1))/alog2;
nbitsgref=(g2int)ceil(temp); nbitsgref=(g2int)ceil(temp);
sbits(cpack,gref,iofst,nbitsgref,0,ngroups); sbits(cpack,gref,iofst,nbitsgref,0,ngroups);
itemp=nbitsgref*ngroups; itemp=nbitsgref*ngroups;
@@ -309,7 +309,7 @@ void compack(g2float *fld,g2int ndpts,g2int idrsnum,g2int *idrstmpl,
if (gwidth[j] < ngwidthref) ngwidthref=gwidth[j]; if (gwidth[j] < ngwidthref) ngwidthref=gwidth[j];
} }
if (iwmax != ngwidthref) { if (iwmax != ngwidthref) {
temp=log((double)(iwmax-ngwidthref+1))/alog2; temp=(g2float)log((double)(iwmax-ngwidthref+1))/alog2;
nbitsgwidth=(g2int)ceil(temp); nbitsgwidth=(g2int)ceil(temp);
for (i=0;i<ngroups;i++) for (i=0;i<ngroups;i++)
gwidth[i]=gwidth[i]-ngwidthref; gwidth[i]=gwidth[i]-ngwidthref;
@@ -341,7 +341,7 @@ void compack(g2float *fld,g2int ndpts,g2int idrsnum,g2int *idrstmpl,
} }
nglenlast=glen[ngroups-1]; nglenlast=glen[ngroups-1];
if (ilmax != nglenref) { if (ilmax != nglenref) {
temp=log((double)(ilmax-nglenref+1))/alog2; temp=(g2float)log((double)(ilmax-nglenref+1))/alog2;
nbitsglen=(g2int)ceil(temp); nbitsglen=(g2int)ceil(temp);
for (i=0;i<ngroups-1;i++) glen[i]=glen[i]-nglenref; for (i=0;i<ngroups-1;i++) glen[i]=glen[i]-nglenref;
sbits(cpack,glen,iofst,nbitsglen,0,ngroups); sbits(cpack,glen,iofst,nbitsglen,0,ngroups);

View File

@@ -78,15 +78,15 @@ void misspack(g2float *fld,g2int ndpts,g2int idrsnum,g2int *idrstmpl,
g2int kfildo, minpk, inc, maxgrps, ibit, jbit, kbit, novref, lbitref; g2int kfildo, minpk, inc, maxgrps, ibit, jbit, kbit, novref, lbitref;
g2float rmissp, rmisss, bscale, dscale, rmin, temp; g2float rmissp, rmisss, bscale, dscale, rmin, temp;
static g2int simple_alg = 0; static g2int simple_alg = 0;
static g2float alog2=0.69314718; // ln(2.0) static g2float alog2=0.69314718f; // ln(2.0)
static g2int one=1; static g2int one=1;
ival1 = 0; ival1 = 0;
nbitsd = 0; nbitsd = 0;
(void) ij; (void) ij;
bscale=int_power(2.0,-idrstmpl[1]); bscale=(g2float)int_power(2.0,-idrstmpl[1]);
dscale=int_power(10.0,idrstmpl[2]); dscale=(g2float)int_power(10.0,idrstmpl[2]);
missopt=idrstmpl[6]; missopt=idrstmpl[6];
if ( missopt != 1 && missopt != 2 ) { if ( missopt != 1 && missopt != 2 ) {
printf("misspack: Unrecognized option.\n"); printf("misspack: Unrecognized option.\n");
@@ -102,7 +102,7 @@ void misspack(g2float *fld,g2int ndpts,g2int idrsnum,g2int *idrstmpl,
// AND set up missing value mapping of the field. // AND set up missing value mapping of the field.
// //
ifldmiss = calloc(ndpts,sizeof(g2int)); ifldmiss = calloc(ndpts,sizeof(g2int));
rmin=1E+37; rmin=1E+37f;
if ( missopt == 1 ) { // Primary missing value only if ( missopt == 1 ) { // Primary missing value only
for ( j=0; j<ndpts; j++) { for ( j=0; j<ndpts; j++) {
if (fld[j] == rmissp) { if (fld[j] == rmissp) {
@@ -198,7 +198,7 @@ void misspack(g2float *fld,g2int ndpts,g2int idrsnum,g2int *idrstmpl,
// find num of bits need to store minsd and add 1 extra bit // find num of bits need to store minsd and add 1 extra bit
// to indicate sign // to indicate sign
// //
temp=log((double)(abs(minsd)+1))/alog2; temp=(g2float)log((double)(abs(minsd)+1))/alog2;
nbitsd=(g2int)ceil(temp)+1; nbitsd=(g2int)ceil(temp)+1;
// //
// find num of bits need to store ifld[0] ( and ifld[1] // find num of bits need to store ifld[0] ( and ifld[1]
@@ -206,7 +206,7 @@ void misspack(g2float *fld,g2int ndpts,g2int idrsnum,g2int *idrstmpl,
// //
maxorig=ival1; maxorig=ival1;
if (idrstmpl[16]==2 && ival2>ival1) maxorig=ival2; if (idrstmpl[16]==2 && ival2>ival1) maxorig=ival2;
temp=log((double)(maxorig+1))/alog2; temp=(g2float)log((double)(maxorig+1))/alog2;
nbitorig=(g2int)ceil(temp)+1; nbitorig=(g2int)ceil(temp)+1;
if (nbitorig > nbitsd) nbitsd=nbitorig; if (nbitorig > nbitsd) nbitsd=nbitorig;
// increase number of bits to even multiple of 8 ( octet ) // increase number of bits to even multiple of 8 ( octet )
@@ -353,7 +353,7 @@ void misspack(g2float *fld,g2int ndpts,g2int idrsnum,g2int *idrstmpl,
if (missopt == 2) imax=imax+2; if (missopt == 2) imax=imax+2;
// calc num of bits needed to hold data // calc num of bits needed to hold data
if ( gref[ng] != imax ) { if ( gref[ng] != imax ) {
temp=log((double)(imax-gref[ng]+1))/alog2; temp=(g2float)log((double)(imax-gref[ng]+1))/alog2;
gwidth[ng]=(g2int)ceil(temp); gwidth[ng]=(g2int)ceil(temp);
} }
else { else {
@@ -388,7 +388,7 @@ void misspack(g2float *fld,g2int ndpts,g2int idrsnum,g2int *idrstmpl,
if (missopt == 1) igmax=igmax+1; if (missopt == 1) igmax=igmax+1;
if (missopt == 2) igmax=igmax+2; if (missopt == 2) igmax=igmax+2;
if (igmax != 0) { if (igmax != 0) {
temp=log((double)(igmax+1))/alog2; temp=(g2float)log((double)(igmax+1))/alog2;
nbitsgref=(g2int)ceil(temp); nbitsgref=(g2int)ceil(temp);
// reset the ref values of any "missing only" groups. // reset the ref values of any "missing only" groups.
mtemp=(g2int)int_power(2.,nbitsgref); mtemp=(g2int)int_power(2.,nbitsgref);
@@ -422,7 +422,7 @@ void misspack(g2float *fld,g2int ndpts,g2int idrsnum,g2int *idrstmpl,
if (gwidth[j] < ngwidthref) ngwidthref=gwidth[j]; if (gwidth[j] < ngwidthref) ngwidthref=gwidth[j];
} }
if (iwmax != ngwidthref) { if (iwmax != ngwidthref) {
temp=log((double)(iwmax-ngwidthref+1))/alog2; temp=(g2float)log((double)(iwmax-ngwidthref+1))/alog2;
nbitsgwidth=(g2int)ceil(temp); nbitsgwidth=(g2int)ceil(temp);
for ( i=0; i<ngroups; i++) gwidth[i]=gwidth[i]-ngwidthref; for ( i=0; i<ngroups; i++) gwidth[i]=gwidth[i]-ngwidthref;
sbits(cpack,gwidth,iofst,nbitsgwidth,0,ngroups); sbits(cpack,gwidth,iofst,nbitsgwidth,0,ngroups);
@@ -454,7 +454,7 @@ void misspack(g2float *fld,g2int ndpts,g2int idrsnum,g2int *idrstmpl,
} }
nglenlast=glen[ngroups-1]; nglenlast=glen[ngroups-1];
if (ilmax != nglenref) { if (ilmax != nglenref) {
temp=log((double)(ilmax-nglenref+1))/alog2; temp=(g2float)log((double)(ilmax-nglenref+1))/alog2;
nbitsglen=(g2int)ceil(temp); nbitsglen=(g2int)ceil(temp);
for ( i=0; i<ngroups-1; i++) glen[i]=glen[i]-nglenref; for ( i=0; i<ngroups-1; i++) glen[i]=glen[i]-nglenref;
sbits(cpack,glen,iofst,nbitsglen,0,ngroups); sbits(cpack,glen,iofst,nbitsglen,0,ngroups);

View File

@@ -60,17 +60,17 @@ void rdieee(g2int *rieee,g2float *a,g2int num)
if ( (iexp > 0) && (iexp < 255) ) { if ( (iexp > 0) && (iexp < 255) ) {
temp=(g2float)int_power(2.0,(iexp-127)); temp=(g2float)int_power(2.0,(iexp-127));
a[j]=sign*temp*(1.0+(two23*(g2float)imant)); a[j]=sign*temp*(1.0f+(two23*(g2float)imant));
} }
else if ( iexp == 0 ) { else if ( iexp == 0 ) {
if ( imant != 0 ) if ( imant != 0 )
a[j]=sign*two126*two23*(g2float)imant; a[j]=sign*two126*two23*(g2float)imant;
else else
a[j]=sign*0.0; a[j]=sign*0.0f;
} }
else if ( iexp == 255 ) else if ( iexp == 255 )
a[j]=sign*(1E+37); a[j]=sign*(1E+37f);
} }

View File

@@ -64,10 +64,10 @@ void simpack(g2float *fld,g2int ndpts,g2int *idrstmpl,unsigned char *cpack,g2int
g2int j,nbits,imin,imax,maxdif,nbittot,left; g2int j,nbits,imin,imax,maxdif,nbittot,left;
g2float bscale,dscale,rmax,rmin,temp; g2float bscale,dscale,rmax,rmin,temp;
double maxnum; double maxnum;
static g2float alog2=0.69314718; // ln(2.0) static g2float alog2=0.69314718f; // ln(2.0)
bscale=int_power(2.0,-idrstmpl[1]); bscale=(g2float)int_power(2.0,-idrstmpl[1]);
dscale=int_power(10.0,idrstmpl[2]); dscale=(g2float)int_power(10.0,idrstmpl[2]);
if (idrstmpl[3] <= 0 || idrstmpl[3] > 31) if (idrstmpl[3] <= 0 || idrstmpl[3] > 31)
nbits=0; nbits=0;
else else
@@ -102,7 +102,7 @@ void simpack(g2float *fld,g2int ndpts,g2int *idrstmpl,unsigned char *cpack,g2int
imin=(g2int)rint(rmin*dscale); imin=(g2int)rint(rmin*dscale);
imax=(g2int)rint(rmax*dscale); imax=(g2int)rint(rmax*dscale);
maxdif=imax-imin; maxdif=imax-imin;
temp=log((double)(maxdif+1))/alog2; temp=(g2float)log((double)(maxdif+1))/alog2;
nbits=(g2int)ceil(temp); nbits=(g2int)ceil(temp);
rmin=(g2float)imin; rmin=(g2float)imin;
// scale data // scale data
@@ -117,9 +117,9 @@ void simpack(g2float *fld,g2int ndpts,g2int *idrstmpl,unsigned char *cpack,g2int
rmin=rmin*dscale; rmin=rmin*dscale;
rmax=rmax*dscale; rmax=rmax*dscale;
maxnum=int_power(2.0,nbits)-1; maxnum=int_power(2.0,nbits)-1;
temp=log(maxnum/(rmax-rmin))/alog2; temp=(g2float)log(maxnum/(rmax-rmin))/alog2;
idrstmpl[1]=(g2int)ceil(-1.0*temp); idrstmpl[1]=(g2int)ceil(-1.0*temp);
bscale=int_power(2.0,-idrstmpl[1]); bscale=(g2float)int_power(2.0,-idrstmpl[1]);
// scale data // scale data
for (j=0;j<ndpts;j++) for (j=0;j<ndpts;j++)
ifld[j]=(g2int)rint(((fld[j]*dscale)-rmin)*bscale); ifld[j]=(g2int)rint(((fld[j]*dscale)-rmin)*bscale);
@@ -132,7 +132,7 @@ void simpack(g2float *fld,g2int ndpts,g2int *idrstmpl,unsigned char *cpack,g2int
rmin=rmin*dscale; rmin=rmin*dscale;
rmax=rmax*dscale; rmax=rmax*dscale;
maxdif=(g2int)rint((rmax-rmin)*bscale); maxdif=(g2int)rint((rmax-rmin)*bscale);
temp=log((double)(maxdif+1))/alog2; temp=(g2float)log((double)(maxdif+1))/alog2;
nbits=(g2int)ceil(temp); nbits=(g2int)ceil(temp);
// scale data // scale data
for (j=0;j<ndpts;j++) for (j=0;j<ndpts;j++)

View File

@@ -43,8 +43,8 @@ g2int simunpack(unsigned char *cpack,g2int *idrstmpl,g2int ndpts,g2float *fld)
g2float ref,bscale,dscale; g2float ref,bscale,dscale;
rdieee(idrstmpl+0,&ref,1); rdieee(idrstmpl+0,&ref,1);
bscale = int_power(2.0,idrstmpl[1]); bscale = (g2float)int_power(2.0,idrstmpl[1]);
dscale = int_power(10.0,-idrstmpl[2]); dscale = (g2float)int_power(10.0,-idrstmpl[2]);
nbits = idrstmpl[3]; nbits = idrstmpl[3];
ifld=(g2int *)calloc((ndpts ? ndpts : 1),sizeof(g2int)); ifld=(g2int *)calloc((ndpts ? ndpts : 1),sizeof(g2int));

View File

@@ -49,6 +49,7 @@ void specpack(g2float *fld,g2int ndpts,g2int JJ,g2int KK,g2int MM,
int_power(2.0,-idrstmpl[1]); int_power(2.0,-idrstmpl[1]);
int_power(10.0,idrstmpl[2]); int_power(10.0,idrstmpl[2]);
Js=idrstmpl[5]; Js=idrstmpl[5];
Ks=idrstmpl[6]; Ks=idrstmpl[6];
Ms=idrstmpl[7]; Ms=idrstmpl[7];
@@ -58,9 +59,9 @@ void specpack(g2float *fld,g2int ndpts,g2int JJ,g2int KK,g2int MM,
// Calculate Laplacian scaling factors for each possible wave number. // Calculate Laplacian scaling factors for each possible wave number.
// //
pscale=(g2float *)malloc((JJ+MM)*sizeof(g2float)); pscale=(g2float *)malloc((JJ+MM)*sizeof(g2float));
tscale=(g2float)idrstmpl[4]*1E-6; tscale=(g2float)idrstmpl[4]*1E-6f;
for (n=Js;n<=JJ+MM;n++) for (n=Js;n<=JJ+MM;n++)
pscale[n]=pow((g2float)(n*(n+1)),tscale); pscale[n]=(g2float)pow((g2float)(n*(n+1)),tscale);
// //
// Separate spectral coeffs into two lists; one to contain unpacked // Separate spectral coeffs into two lists; one to contain unpacked
// values within the sub-spectrum Js, Ks, Ms, and the other with values // values within the sub-spectrum Js, Ks, Ms, and the other with values

View File

@@ -51,8 +51,8 @@ g2int specunpack(unsigned char *cpack,g2int *idrstmpl,g2int ndpts,g2int JJ,
g2int inc,incu,incp; g2int inc,incu,incp;
rdieee(idrstmpl+0,&ref,1); rdieee(idrstmpl+0,&ref,1);
bscale = int_power(2.0,idrstmpl[1]); bscale = (g2float)int_power(2.0,idrstmpl[1]);
dscale = int_power(10.0,-idrstmpl[2]); dscale = (g2float)int_power(10.0,-idrstmpl[2]);
nbits = idrstmpl[3]; nbits = idrstmpl[3];
Js=idrstmpl[5]; Js=idrstmpl[5];
Ks=idrstmpl[6]; Ks=idrstmpl[6];
@@ -72,9 +72,9 @@ g2int specunpack(unsigned char *cpack,g2int *idrstmpl,g2int ndpts,g2int JJ,
// Calculate Laplacian scaling factors for each possible wave number. // Calculate Laplacian scaling factors for each possible wave number.
// //
pscale=(g2float *)malloc((JJ+MM+1)*sizeof(g2float)); pscale=(g2float *)malloc((JJ+MM+1)*sizeof(g2float));
tscale=(g2float)idrstmpl[4]*1E-6; tscale=(g2float)idrstmpl[4]*1E-6f;
for (n=Js;n<=JJ+MM;n++) for (n=Js;n<=JJ+MM;n++)
pscale[n]=pow((g2float)(n*(n+1)),-tscale); pscale[n]=(g2float)pow((g2float)(n*(n+1)),-tscale);
// //
// Assemble spectral coeffs back to original order. // Assemble spectral coeffs back to original order.
// //