Lines Matching refs:ldl
425 union long_double_long ldl;
427 ldl.ld = a;
428 if (EXPX(ldl) == EXPXMASK
429 && ((ldl.l.middle & MANTXMASK) != 0 || ldl.l.lower != 0))
431 ldl.ld = b;
432 if (EXPX(ldl) == EXPXMASK
433 && ((ldl.l.middle & MANTXMASK) != 0 || ldl.l.lower != 0))
444 register union long_double_long ldl;
450 ldl.l.upper = SIGND (dl);
453 ldl.l.middle = 0;
454 ldl.l.lower = 0;
455 return ldl.ld;
464 ldl.l.middle = 0;
465 ldl.l.lower = 0;
469 ldl.l.lower = (ldl.l.middle & MANTXMASK) >> ((1 - exp) - 32);
470 ldl.l.middle &= ~MANTXMASK;
474 ldl.l.lower >>= 1 - exp;
475 ldl.l.lower |= (ldl.l.middle & MANTXMASK) << (32 - (1 - exp));
476 ldl.l.middle = (ldl.l.middle & ~MANTXMASK) | (ldl.l.middle & MANTXMASK >> (1 - exp));
483 ldl.l.upper |= exp << 16;
484 ldl.l.middle = HIDDENX;
485 /* 31-20: # mantissa bits in ldl.l.middle - # mantissa bits in dl.l.upper */
486 ldl.l.middle |= (dl.l.upper & MANTDMASK) << (31 - 20);
488 ldl.l.middle |= dl.l.lower >> (1 + 20);
489 /* 32 - 21: # bits of dl.l.lower in ldl.l.middle */
490 ldl.l.lower = dl.l.lower << (32 - 21);
492 /*printf ("dfxf out: %s\n", dumpxf (ldl.ld));*/
493 return ldl.ld;
502 register union long_double_long ldl;
504 ldl.ld = ld;
507 dl.l.upper = SIGNX (ldl);
508 if ((ldl.l.upper & ~SIGNBIT) == 0 && !ldl.l.middle && !ldl.l.lower)
514 exp = EXPX (ldl) - EXCESSX + EXCESSD;
520 ldl.l.middle = 0;
521 ldl.l.lower = 0;
525 ldl.l.lower = (ldl.l.middle & MANTXMASK) >> ((1 - exp) - 32);
526 ldl.l.middle &= ~MANTXMASK;
530 ldl.l.lower >>= 1 - exp;
531 ldl.l.lower |= (ldl.l.middle & MANTXMASK) << (32 - (1 - exp));
532 ldl.l.middle = (ldl.l.middle & ~MANTXMASK) | (ldl.l.middle & MANTXMASK >> (1 - exp));
539 ldl.l.middle |= ldl.l.lower;
544 ldl.l.middle = 0;
545 ldl.l.lower = 0;
549 dl.l.upper |= (ldl.l.middle & MANTXMASK) >> (EXPDBITS + 1 - 1);
550 dl.l.lower = (ldl.l.middle & MANTXMASK) << (32 - (EXPDBITS + 1 - 1));
551 dl.l.lower |= ldl.l.lower >> (EXPDBITS + 1 - 1);
593 union long_double_long ldl;
597 ldl.ld = a;
599 exp = EXPX (ldl);
600 if (exp == 0 && ldl.l.middle == 0 && ldl.l.lower == 0)
608 return SIGNX (ldl) ? 0x80000000L : 0x7fffffffL;
616 ldl.l.lower = ldl.l.middle >> (-exp - 32);
620 ldl.l.lower = ldl.l.lower >> -exp;
621 ldl.l.lower |= ldl.l.middle << (32 + exp);
624 return SIGNX (ldl) ? -ldl.l.lower : ldl.l.lower;