Print this page


Split Close
Expand all
Collapse all
          --- old/usr/src/lib/libm/common/C/pow.c
          +++ new/usr/src/lib/libm/common/C/pow.c
↓ open down ↓ 240 lines elided ↑ open up ↑
 241  241                                          return (_SVID_libm_err(x, y, 21));
 242  242                                  else
 243  243                                          return (one / x);
 244  244                          } else
 245  245                                  return (x);
 246  246                  }
 247  247                  if (hy == 0x40000000) {         /* y is  2 */
 248  248                          if (ahx >= 0x5ff00000 && ahx < 0x7ff00000)
 249  249                                  return (_SVID_libm_err(x, y, 21));
 250  250                                                          /* x*x overflow */
 251      -                        else if (ahx < 0x1e56a09e && (ahx | lx) != 0 ||
 252      -                                ahx == 0x1e56a09e && lx < 0x667f3bcd)
      251 +                        else if ((ahx < 0x1e56a09e && (ahx | lx) != 0) ||
      252 +                                (ahx == 0x1e56a09e && lx < 0x667f3bcd))
 253  253                                  return (_SVID_libm_err(x, y, 22));
 254  254                                                          /* x*x underflow */
 255  255                          else
 256  256                                  return (x * x);
 257  257                  }
 258  258                  if (hy == 0x3fe00000) {
 259  259                          if (!((ahx | lx) == 0 || ((ahx - 0x7ff00000) | lx) ==
 260  260                                  0 || sbx == 1))
 261  261                                  return (sqrt(x));       /* y is 0.5 and x > 0 */
 262  262                  }
↓ open down ↓ 81 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX