Lines Matching refs:pd

52 __big_decimal_to_big_binary(_big_float *pd, int nsig, _big_float **ppb,  in __big_decimal_to_big_binary()  argument
62 if (pd->bexponent + ((pd->blength - 1) << 2) >= 0) { in __big_decimal_to_big_binary()
63 pb->bsignificand[0] = pd->bsignificand[pd->blength - 1]; in __big_decimal_to_big_binary()
65 for (i = pd->blength - 2; i >= 0 && in __big_decimal_to_big_binary()
66 pd->bexponent + (i << 2) >= 0; i--) { in __big_decimal_to_big_binary()
68 carry = pd->bsignificand[i]; in __big_decimal_to_big_binary()
80 i = pd->blength - 1; in __big_decimal_to_big_binary()
85 if (i >= 0 && pd->bexponent + (i << 2) > -4) { in __big_decimal_to_big_binary()
86 s = pd->bexponent + (i << 2) + 4; in __big_decimal_to_big_binary()
88 carry = pd->bsignificand[i]; in __big_decimal_to_big_binary()
130 s |= pd->bsignificand[i--]; in __big_decimal_to_big_binary()
133 if (pd->bexponent > 0) { in __big_decimal_to_big_binary()
135 __big_float_times_power(pb, 10, pd->bexponent, nsig, ppb); in __big_decimal_to_big_binary()
145 __decimal_to_unpacked(unpacked *px, decimal_record *pd, int sigbits) in __decimal_to_unpacked() argument
152 px->sign = pd->sign; in __decimal_to_unpacked()
153 px->fpclass = pd->fpclass; in __decimal_to_unpacked()
154 ds = pd->ds; in __decimal_to_unpacked()
155 ndigs = pd->ndigits; in __decimal_to_unpacked()
156 exp = pd->exponent; in __decimal_to_unpacked()
255 if (sticky | pd->more) in __decimal_to_unpacked()
332 __fast_decimal_to_single(single *px, decimal_mode *pm, decimal_record *pd, in __fast_decimal_to_single() argument
343 exp = pd->exponent; in __fast_decimal_to_single()
344 if (pd->ndigits <= 18) { in __fast_decimal_to_single()
346 n = pd->ndigits; in __fast_decimal_to_single()
350 exp += pd->ndigits - 18; in __fast_decimal_to_single()
360 dds = __digits_to_double(pd->ds, n, &e); in __fast_decimal_to_single()
422 *px = (pd->sign)? -f1 : f1; in __fast_decimal_to_single()
431 __fast_decimal_to_double(double *px, decimal_mode *pm, decimal_record *pd, in __fast_decimal_to_double() argument
438 if (pm->rd != fp_nearest || pd->ndigits > 18 || pd->exponent in __fast_decimal_to_double()
439 > __TBL_TENS_EXACT || pd->exponent < -__TBL_TENS_EXACT) in __fast_decimal_to_double()
443 dds = __digits_to_double(pd->ds, pd->ndigits, &e); in __fast_decimal_to_double()
448 if (pd->exponent > 0) in __fast_decimal_to_double()
449 dds = __mul_set(dds, __tbl_tens[pd->exponent], &e); in __fast_decimal_to_double()
450 else if (pd->exponent < 0) in __fast_decimal_to_double()
451 dds = __div_set(dds, __tbl_tens[-pd->exponent], &e); in __fast_decimal_to_double()
452 *px = (pd->sign)? -dds : dds; in __fast_decimal_to_double()
493 decimal_to_single(single *px, decimal_mode *pm, decimal_record *pd, in decimal_to_single() argument
503 switch (pd->fpclass) { in decimal_to_single()
505 kluge->f.msw.sign = (pd->sign)? 1 : 0; in decimal_to_single()
512 kluge->f.msw.sign = (pd->sign)? 1 : 0; in decimal_to_single()
519 kluge->f.msw.sign = (pd->sign)? 1 : 0; in decimal_to_single()
526 kluge->f.msw.sign = (pd->sign)? 1 : 0; in decimal_to_single()
535 if (pd->exponent + pd->ndigits > SINGLE_MAXE) { in decimal_to_single()
537 u.sign = (pd->sign != 0); in decimal_to_single()
543 } else if (pd->exponent + pd->ndigits < -SINGLE_MAXE) { in decimal_to_single()
545 u.sign = (pd->sign != 0); in decimal_to_single()
553 if (__fast_decimal_to_single(px, pm, pd, &ef) == 1) { in decimal_to_single()
559 __decimal_to_unpacked(&u, pd, 24); in decimal_to_single()
568 decimal_to_double(double *px, decimal_mode *pm, decimal_record *pd, in decimal_to_double() argument
578 switch (pd->fpclass) { in decimal_to_double()
580 kluge->f.msw.sign = (pd->sign)? 1 : 0; in decimal_to_double()
588 kluge->f.msw.sign = (pd->sign)? 1 : 0; in decimal_to_double()
596 kluge->f.msw.sign = (pd->sign)? 1 : 0; in decimal_to_double()
604 kluge->f.msw.sign = (pd->sign)? 1 : 0; in decimal_to_double()
614 if (pd->exponent + pd->ndigits > DOUBLE_MAXE) { in decimal_to_double()
616 u.sign = (pd->sign != 0); in decimal_to_double()
622 } else if (pd->exponent + pd->ndigits < -DOUBLE_MAXE) { in decimal_to_double()
624 u.sign = (pd->sign != 0); in decimal_to_double()
632 if (__fast_decimal_to_double(px, pm, pd, &ef) == 1) { in decimal_to_double()
638 __decimal_to_unpacked(&u, pd, 53); in decimal_to_double()
647 decimal_to_extended(extended *px, decimal_mode *pm, decimal_record *pd, in decimal_to_extended() argument
658 switch (pd->fpclass) { in decimal_to_extended()
660 kluge->f.msw.sign = (pd->sign)? 1 : 0; in decimal_to_extended()
668 kluge->f.msw.sign = (pd->sign)? 1 : 0; in decimal_to_extended()
676 kluge->f.msw.sign = (pd->sign)? 1 : 0; in decimal_to_extended()
684 kluge->f.msw.sign = (pd->sign)? 1 : 0; in decimal_to_extended()
694 if (pd->exponent + pd->ndigits > EXTENDED_MAXE) { in decimal_to_extended()
696 u.sign = (pd->sign != 0); in decimal_to_extended()
702 } else if (pd->exponent + pd->ndigits < -EXTENDED_MAXE) { in decimal_to_extended()
704 u.sign = (pd->sign != 0); in decimal_to_extended()
712 if (__fast_decimal_to_double(&dd.x, pm, pd, &ef) == 1 && in decimal_to_extended()
724 __decimal_to_unpacked(&u, pd, 64); in decimal_to_extended()
734 decimal_to_quadruple(quadruple *px, decimal_mode *pm, decimal_record *pd, in decimal_to_quadruple() argument
745 switch (pd->fpclass) { in decimal_to_quadruple()
747 kluge->f.msw.sign = (pd->sign)? 1 : 0; in decimal_to_quadruple()
757 kluge->f.msw.sign = (pd->sign)? 1 : 0; in decimal_to_quadruple()
767 kluge->f.msw.sign = (pd->sign)? 1 : 0; in decimal_to_quadruple()
777 kluge->f.msw.sign = (pd->sign)? 1 : 0; in decimal_to_quadruple()
789 if (pd->exponent + pd->ndigits > QUAD_MAXE) { in decimal_to_quadruple()
791 u.sign = (pd->sign != 0); in decimal_to_quadruple()
797 } else if (pd->exponent + pd->ndigits < -QUAD_MAXE) { in decimal_to_quadruple()
799 u.sign = (pd->sign != 0); in decimal_to_quadruple()
807 if (__fast_decimal_to_double(&dd.x, pm, pd, &ef) == 1 && in decimal_to_quadruple()
819 __decimal_to_unpacked(&u, pd, 113); in decimal_to_quadruple()