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

Split Close
Expand all
Collapse all
          --- old/usr/src/lib/libm/common/m9x/lround.c
          +++ new/usr/src/lib/libm/common/m9x/lround.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 __lround = lround
  31   32  
  32   33  /*
  33   34   * lround(x) rounds its argument to the nearest integer, rounding ties
  34   35   * away from zero, and converts the result to a 32 bit signed integer.
  35   36   *
  36   37   * If x is NaN, infinite, or so large that the nearest integer
  37   38   * would exceed 32 bits, the invalid operation exception is raised.
  38   39   */
  39   40  
  40      -#include <sys/isa_defs.h>       /* _ILP32 */
       41 +#include <sys/isa_defs.h>               /* _ILP32 */
  41   42  #include "libm.h"
  42   43  
  43   44  #if defined(_ILP32)
  44   45  long
  45      -lround(double x) {
       46 +lround(double x)
       47 +{
  46   48          union {
  47   49                  unsigned i[2];
  48   50                  double d;
  49   51          } xx;
       52 +
  50   53          unsigned hx, sx, i;
  51   54  
  52   55          xx.d = x;
  53   56          hx = xx.i[HIWORD] & ~0x80000000;
  54   57          sx = xx.i[HIWORD] & 0x80000000;
  55      -        if (hx < 0x43300000) {  /* |x| < 2^52 */
       58 +
       59 +        if (hx < 0x43300000) {          /* |x| < 2^52 */
  56   60                  if (hx < 0x3ff00000) {  /* |x| < 1 */
  57   61                          if (hx >= 0x3fe00000)
  58   62                                  return (sx ? -1L : 1L);
       63 +
  59   64                          return (0L);
  60   65                  }
  61   66  
  62   67                  /* round x at the integer bit */
  63   68                  if (hx < 0x41300000) {
  64   69                          i = 1 << (0x412 - (hx >> 20));
  65   70                          xx.i[HIWORD] = (xx.i[HIWORD] + i) & ~(i | (i - 1));
  66   71                          xx.i[LOWORD] = 0;
  67   72                  } else {
  68   73                          i = 1 << (0x432 - (hx >> 20));
  69   74                          xx.i[LOWORD] += i;
       75 +
  70   76                          if (xx.i[LOWORD] < i)
  71   77                                  xx.i[HIWORD]++;
       78 +
  72   79                          xx.i[LOWORD] &= ~(i | (i - 1));
  73   80                  }
  74   81          }
  75   82  
  76   83          /* now x is nan, inf, or integral */
  77      -        return ((long) xx.d);
       84 +        return ((long)xx.d);
  78   85  }
  79   86  #else
  80   87  #error Unsupported architecture
  81      -#endif  /* defined(_ILP32) */
       88 +#endif /* defined(_ILP32) */
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX