58 int negone=-1, errornum;
72 ix = (
unsigned int *) &x;
73 if(( *ix == 0xbff00000) && ( *(ix+1) == 0x0) )
76 }
else if(( *(ix+1) == 0xbff00000) && ( *ix == 0x0) ) {
84 void pdlaiectb_(
double *sigma,
int *n,
double *d,
int *count )
133 double lsigma, tmp, *pd, *pe2;
141 tmp = *pd - lsigma; pd += 2;
142 *count = (*((
int *)&tmp) >> 31) & 1;
143 for(i = 1;i < *n;i++){
144 tmp = *pd - *pe2/tmp - lsigma;
146 *count += ((*((
int *)&tmp)) >> 31) & 1;
150 void pdlaiectl_(
double *sigma,
int *n,
double *d,
int *count )
199 double lsigma, tmp, *pd, *pe2;
207 tmp = *pd - lsigma; pd += 2;
208 *count = (*(((
int *)&tmp)+1) >> 31) & 1;
209 for(i = 1;i < *n;i++){
210 tmp = *pd - *pe2/tmp - lsigma;
212 *count += (*(((
int *)&tmp)+1) >> 31) & 1;
252 double x, pinf, pzero, ninf, nzero;
253 int ieflag, *ix, sbit1, sbit2, negone=-1, errornum;
260 pinf = *rmax / *rmin;
265 printf(
"pzero = %g should be zero\n",pzero);
270 sbit1 = (*((
int *)&pzero) >> 31) & 1;
271 sbit2 = (*((
int *)&pinf) >> 31) & 1;
272 }
else if(ieflag == 2){
273 sbit1 = (*(((
int *)&pzero)+1) >> 31) & 1;
274 sbit2 = (*(((
int *)&pinf)+1) >> 31) & 1;
277 printf(
"Sign of positive infinity is incorrect\n");
281 printf(
"Sign of positive zero is incorrect\n");
290 printf(
"nzero = %g should be zero\n",nzero);
294 sbit1 = (*((
int *)&nzero) >> 31) & 1;
295 sbit2 = (*((
int *)&ninf) >> 31) & 1;
296 }
else if(ieflag == 2){
297 sbit1 = (*(((
int *)&nzero)+1) >> 31) & 1;
298 sbit2 = (*(((
int *)&ninf)+1) >> 31) & 1;
301 printf(
"Sign of negative infinity is incorrect\n");
305 printf(
"Sign of negative zero is incorrect\n");