Lines Matching defs:pf

155  * Convert a base-10^4 _big_float *pf to a decimal string in *pd,
158 * assumed to follow those in *pf. pd->sign must have already been
172 * *pf may be modified.
175 __big_decimal_to_string(_big_float *pf, int sticky, decimal_mode *pm,
182 /* set e = floor(log10(*pf)) */
183 i = pf->blength - 1;
185 e = pf->bexponent = -DECIMAL_STRING_LENGTH - 2;
187 e = pf->bexponent + (i << 2);
188 d = pf->bsignificand[i];
229 for (e = efirst; e >= pf->bexponent + (pf->blength << 2) &&
233 i = pf->blength - 1;
234 j = 3 - ((e - pf->bexponent) & 3);
236 __four_digits_quick(pf->bsignificand[i], s);
247 __four_digits_quick(pf->bsignificand[i], pd->ds + is);
255 __four_digits_quick(pf->bsignificand[i], s);
272 sticky |= pf->bsignificand[i--];
333 * Convert a binary floating point value represented by *pf to a
450 __double_to_bigfloat(double *px, _big_float *pf)
455 pf->bsize = _BIG_FLOAT_SIZE;
456 pf->bexponent = x->f.msw.exponent - DOUBLE_BIAS - 52;
457 pf->blength = 4;
458 pf->bsignificand[0] = x->f.significand2 & 0xffff;
459 pf->bsignificand[1] = x->f.significand2 >> 16;
460 pf->bsignificand[2] = x->f.msw.significand & 0xffff;
461 pf->bsignificand[3] = x->f.msw.significand >> 16;
463 pf->bexponent++;
464 while (pf->bsignificand[pf->blength - 1] == 0)
465 pf->blength--;
467 pf->bsignificand[3] += 0x10;
469 __shorten(pf);
476 __extended_to_bigfloat(extended *px, _big_float *pf)
481 pf->bsize = _BIG_FLOAT_SIZE;
482 pf->bexponent = x->f.msw.exponent - EXTENDED_BIAS - 63;
483 pf->blength = 4;
484 pf->bsignificand[0] = x->f.significand2 & 0xffff;
485 pf->bsignificand[1] = x->f.significand2 >> 16;
486 pf->bsignificand[2] = x->f.significand & 0xffff;
487 pf->bsignificand[3] = x->f.significand >> 16;
489 pf->bexponent++;
490 while (pf->bsignificand[pf->blength - 1] == 0)
491 pf->blength--;
493 __shorten(pf);
500 __quadruple_to_bigfloat(quadruple *px, _big_float *pf)
505 pf->bsize = _BIG_FLOAT_SIZE;
506 pf->bexponent = x->f.msw.exponent - QUAD_BIAS - 112;
507 pf->bsignificand[0] = x->f.significand4 & 0xffff;
508 pf->bsignificand[1] = x->f.significand4 >> 16;
509 pf->bsignificand[2] = x->f.significand3 & 0xffff;
510 pf->bsignificand[3] = x->f.significand3 >> 16;
511 pf->bsignificand[4] = x->f.significand2 & 0xffff;
512 pf->bsignificand[5] = x->f.significand2 >> 16;
513 pf->bsignificand[6] = x->f.msw.significand;
515 pf->blength = 7;
516 pf->bexponent++;
517 while (pf->bsignificand[pf->blength - 1] == 0)
518 pf->blength--;
520 pf->blength = 8;
521 pf->bsignificand[7] = 1;
523 __shorten(pf);