Print this page


Split Close
Expand all
Collapse all
          --- old/usr/src/lib/libm/common/m9x/llrintl.c
          +++ new/usr/src/lib/libm/common/m9x/llrintl.c
↓ open down ↓ 48 lines elided ↑ open up ↑
  49   49                  long double q;
  50   50          } xx;
  51   51          union {
  52   52                  unsigned i[2];
  53   53                  long long l;
  54   54          } zz;
  55   55          union {
  56   56                  unsigned i;
  57   57                  float f;
  58   58          } tt;
  59      -        unsigned int hx, sx, frac;
  60      -        unsigned int fsr;
       59 +        unsigned int hx, sx, frac, fsr;
  61   60          int rm, j;
  62   61          volatile float dummy;
  63   62  
  64   63          xx.q = x;
  65   64          sx = xx.i[0] & 0x80000000;
  66   65          hx = xx.i[0] & ~0x80000000;
  67   66  
  68   67          /* handle trivial cases */
  69   68          if (hx > 0x403e0000) { /* |x| > 2^63 + ... or x is nan */
  70   69                  /* convert an out-of-range float */
↓ open down ↓ 106 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX