Lines Matching defs:pd

75  * should fit in pd, but __big_float_times_power may allocate new
86 _big_float *pd;
90 pd = *ppd;
95 pd->bsignificand[1] = __quorem10000(carry,
96 &pd->bsignificand[0]);
97 len = (pd->bsignificand[1])? 2 : 1;
100 /* multiply pd by 2^16 and add next digit */
103 carry += (unsigned int)pd->bsignificand[j]
106 &pd->bsignificand[j]);
110 &pd->bsignificand[j]);
123 /* multiply pd by 2^s and add partial digit */
126 carry += (unsigned int)pd->bsignificand[j] << s;
127 carry = __quorem10000(carry, &pd->bsignificand[j]);
130 carry = __quorem10000(carry, &pd->bsignificand[j]);
140 pd->blength = len;
141 pd->bexponent = 0;
149 /* scale pd by 2^pb->bexponent */
150 __big_float_times_power(pd, 2, pb->bexponent, nsig, ppd);
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
159 * filled in, and pd->fpclass is not modified. The resulting string
160 * is stored in pd->ds, terminated by a null byte. The length of this
161 * string is stored in pd->ndigits, and the corresponding exponent
162 * is stored in pd->exponent. If the converted value is not exact,
167 * we put DECIMAL_STRING_LENGTH - 1 digits into *pd, adjusting both
176 decimal_record *pd, fp_exception_field_type *ps)
213 /* check for possible overflow of pd->ds */
231 pd->ds[is++] = '0';
238 pd->ds[is++] = s[j++];
247 __four_digits_quick(pf->bsignificand[i], pd->ds + is);
257 pd->ds[is++] = s[j];
266 pd->ds[is++] = '0';
270 round = pd->ds[--is];
276 pd->ds[is++] = '0';
278 pd->exponent = elast;
279 pd->ndigits = is;
280 pd->ds[is] = '\0';
291 (is <= 0 || (pd->ds[is - 1] & 1) == 0)))
296 if (pd->sign)
301 if (!pd->sign)
310 for (i = efirst - er; i >= 0 && pd->ds[i] == '9'; i--)
311 pd->ds[i] = '0';
313 (pd->ds[i])++;
316 pd->ds[0] = '1';
318 pd->exponent++;
320 pd->exponent++;
324 pd->ds[is] = '0';
326 pd->ndigits = is;
327 pd->ds[is] = '\0';
334 * decimal record *pd according to the modes in *pm. Any exceptions
338 __bigfloat_to_decimal(_big_float *bf, decimal_mode *pm, decimal_record *pd,
419 __big_decimal_to_string(pbd, sticky, pm, pd, ps);
529 single_to_decimal(single *px, decimal_mode *pm, decimal_record *pd,
538 pd->sign = kluge->f.msw.sign;
543 pd->fpclass = fp_zero;
550 pd->fpclass = fp_subnormal;
564 if (__fast_double_to_decimal(&x, pm, pd, &ef)) {
566 __bigfloat_to_decimal(&bf, pm, pd, &ef);
573 pd->fpclass = fp_subnormal;
578 pd->fpclass = fp_infinity;
580 pd->fpclass = fp_quiet;
582 pd->fpclass = fp_signaling;
586 pd->fpclass = fp_normal;
591 if (__fast_double_to_decimal(&x, pm, pd, &ef)) {
593 __bigfloat_to_decimal(&bf, pm, pd, &ef);
601 double_to_decimal(double *px, decimal_mode *pm, decimal_record *pd,
609 pd->sign = kluge->f.msw.sign;
615 pd->fpclass = fp_zero;
619 pd->fpclass = fp_subnormal;
624 pd->fpclass = fp_infinity;
626 pd->fpclass = fp_quiet;
628 pd->fpclass = fp_signaling;
632 pd->fpclass = fp_normal;
636 if (__fast_double_to_decimal(px, pm, pd, &ef)) {
638 __bigfloat_to_decimal(&bf, pm, pd, &ef);
646 extended_to_decimal(extended *px, decimal_mode *pm, decimal_record *pd,
654 pd->sign = kluge->f.msw.sign;
659 pd->fpclass = fp_zero;
667 pd->fpclass = fp_subnormal;
676 pd->fpclass = fp_signaling;
682 pd->fpclass = fp_infinity;
684 pd->fpclass = fp_quiet;
686 pd->fpclass = fp_signaling;
690 pd->fpclass = fp_normal;
695 __bigfloat_to_decimal(&bf, pm, pd, &ef);
702 quadruple_to_decimal(quadruple *px, decimal_mode *pm, decimal_record *pd,
710 pd->sign = kluge->f.msw.sign;
717 pd->fpclass = fp_zero;
721 pd->fpclass = fp_subnormal;
727 pd->fpclass = fp_infinity;
729 pd->fpclass = fp_quiet;
731 pd->fpclass = fp_signaling;
735 pd->fpclass = fp_normal;
740 __bigfloat_to_decimal(&bf, pm, pd, &ef);