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

Split Close
Expand all
Collapse all
          --- old/usr/src/lib/libm/common/m9x/llrintf.c
          +++ new/usr/src/lib/libm/common/m9x/llrintf.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 __llrintf = llrintf
  31   32  #if defined(__sparcv9) || defined(__amd64)
  32   33  #pragma weak lrintf = llrintf
  33   34  #pragma weak __lrintf = llrintf
  34   35  #endif
  35   36  
  36   37  #include "libm.h"
  37   38  
  38   39  long long
  39      -llrintf(float x) {
       40 +llrintf(float x)
       41 +{
  40   42          /*
  41   43           * Note: The following code works on x86 (in the default rounding
  42   44           * precision mode), but one should just use the fistpll instruction
  43   45           * instead.
  44   46           */
  45   47          union {
  46   48                  unsigned i;
  47   49                  float f;
  48   50          } xx, yy;
       51 +
  49   52          unsigned hx;
  50   53  
  51   54          xx.f = x;
  52   55          hx = xx.i & ~0x80000000;
  53   56  
  54      -        if (hx < 0x4b000000) { /* |x| < 2^23 */
       57 +        if (hx < 0x4b000000) {          /* |x| < 2^23 */
  55   58                  /* add and subtract a power of two to round x to an integer */
  56   59  #if defined(__sparc) || defined(__amd64)
  57   60                  yy.i = (xx.i & 0x80000000) | 0x4b000000;
  58   61  #elif defined(__i386)
  59   62                  /* assume 64-bit precision */
  60   63                  yy.i = (xx.i & 0x80000000) | 0x5f000000;
  61   64  #else
  62   65  #error Unknown architecture
  63   66  #endif
  64   67                  x = (x + yy.f) - yy.f;
  65   68  
  66   69                  /*
  67   70                   * on LP32 architectures, we can just convert x to a 32-bit
  68   71                   * integer and sign-extend it
  69   72                   */
  70      -                return ((long) x);
       73 +                return ((long)x);
  71   74          }
  72   75  
  73   76          /* now x is nan, inf, or integral */
  74      -        return ((long long) x);
       77 +        return ((long long)x);
  75   78  }
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX