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

Split Close
Expand all
Collapse all
          --- old/usr/src/lib/libm/common/C/scalb.c
          +++ new/usr/src/lib/libm/common/C/scalb.c
↓ open down ↓ 10 lines elided ↑ open up ↑
  11   11   * and limitations under the License.
  12   12   *
  13   13   * When distributing Covered Code, include this CDDL HEADER in each
  14   14   * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  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   * Copyright 2011 Nexenta Systems, Inc.  All rights reserved.
  23   24   */
       25 +
  24   26  /*
  25   27   * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
  26   28   * Use is subject to license terms.
  27   29   */
  28   30  
  29   31  #pragma weak __scalb = scalb
  30   32  #pragma weak _scalb = scalb
  31   33  
  32   34  #include "libm.h"
  33   35  
  34   36  double
  35      -scalb(double x, double fn) {
  36      -        int     hn, in, n;
  37      -        double  z;
       37 +scalb(double x, double fn)
       38 +{
       39 +        int hn, in, n;
       40 +        double z;
  38   41  
  39   42          if (isnan(x) || isnan(fn))
  40   43                  return (x * fn);
  41   44  
  42   45          in = ((int *)&fn)[HIWORD];
  43   46          hn = in & ~0x80000000;
  44      -        if (hn == 0x7ff00000)   /* fn is inf */
       47 +
       48 +        if (hn == 0x7ff00000)           /* fn is inf */
  45   49                  return (_SVID_libm_err(x, fn, 47));
  46   50  
  47   51          /* see if fn is an integer without raising inexact */
  48   52          if (hn >= 0x43300000) {
  49   53                  /* |fn| >= 2^52, so it must be an integer */
  50      -                n = (in < 0)? -65000 : 65000;
       54 +                n = (in < 0) ? -65000 : 65000;
  51   55          } else if (hn < 0x3ff00000) {
  52   56                  /* |fn| < 1, so it must be zero or non-integer */
  53      -                return ((fn == 0.0)? x : (x - x) / (x - x));
       57 +                return ((fn == 0.0) ? x : (x - x) / (x - x));
  54   58          } else if (hn < 0x41400000) {
  55   59                  /* |fn| < 2^21 */
  56      -                if ((hn & ((1 << (0x413 - (hn >> 20))) - 1))
  57      -                    | ((int *)&fn)[LOWORD])
       60 +                if ((hn & ((1 << (0x413 - (hn >> 20))) - 1)) |
       61 +                    ((int *)&fn)[LOWORD])
  58   62                          return ((x - x) / (x - x));
       63 +
  59   64                  n = (int)fn;
  60   65          } else {
  61   66                  if (((int *)&fn)[LOWORD] & ((1 << (0x433 - (hn >> 20))) - 1))
  62   67                          return ((x - x) / (x - x));
  63      -                n = (in < 0)? -65000 : 65000;
       68 +
       69 +                n = (in < 0) ? -65000 : 65000;
  64   70          }
       71 +
  65   72          z = scalbn(x, n);
       73 +
  66   74          if (z != x) {
  67   75                  if (z == 0.0)
  68   76                          return (_SVID_libm_err(x, fn, 33));
       77 +
  69   78                  if (!finite(z))
  70   79                          return (_SVID_libm_err(x, fn, 32));
  71   80          }
       81 +
  72   82          return (z);
  73   83  }
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX