Print this page
11210 libm should be cstyle(1ONBLD) clean

Split Close
Expand all
Collapse all
          --- old/usr/src/lib/libm/common/Q/cbrtl.c
          +++ new/usr/src/lib/libm/common/Q/cbrtl.c
↓ open down ↓ 14 lines elided ↑ open up ↑
  15   15   * If applicable, add the following below this CDDL HEADER, with the
  16   16   * fields enclosed by brackets "[]" replaced with your own identifying
  17   17   * information: Portions Copyright [yyyy] [name of copyright owner]
  18   18   *
  19   19   * CDDL HEADER END
  20   20   */
  21   21  
  22   22  /*
  23   23   * Copyright 2011 Nexenta Systems, Inc.  All rights reserved.
  24   24   */
       25 +
  25   26  /*
  26   27   * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
  27   28   * Use is subject to license terms.
  28   29   */
  29   30  
  30   31  #pragma weak __cbrtl = cbrtl
  31   32  
  32   33  #include "libm.h"
  33   34  #include "longdouble.h"
  34   35  
  35   36  #define n0      0
  36   37  
  37   38  long double
  38      -cbrtl(long double x) {
       39 +cbrtl(long double x)
       40 +{
  39   41          long double s, t, r, w, y;
  40   42          double dx, dy;
  41      -        int *py = (int *) &dy;
       43 +        int *py = (int *)&dy;
  42   44          int n, m, m3, sx;
  43   45  
  44   46          if (!finitel(x))
  45   47                  return (x + x);
       48 +
  46   49          if (iszerol(x))
  47   50                  return (x);
       51 +
  48   52          sx = signbitl(x);
  49   53          x = fabsl(x);
  50   54          n = ilogbl(x);
  51   55          m = n / 3;
  52   56          m3 = m + m + m;
  53   57          y = scalbnl(x, -m3);
  54      -        dx = (double) y;
       58 +        dx = (double)y;
  55   59          dy = cbrt(dx);
  56   60          py[1 - n0] += 2;
       61 +
  57   62          if (py[1 - n0] == 0)
  58   63                  py[n0] += 1;
  59   64  
  60   65          /* one step newton iteration to 113 bits with error < 0.667ulps */
  61      -        t = (long double) dy;
       66 +        t = (long double)dy;
  62   67          t = scalbnl(t, m);
  63   68          s = t * t;
  64   69          r = x / s;
  65   70          w = t + t;
  66   71          r = (r - t) / (w + r);
  67   72          t += t * r;
  68   73  
  69   74          return (sx == 0 ? t : -t);
  70   75  }
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX