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

Split Close
Expand all
Collapse all
          --- old/usr/src/lib/libm/common/LD/log1pl.c
          +++ new/usr/src/lib/libm/common/LD/log1pl.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 __log1pl = log1pl
  31   32  
  32   33  /*
  33   34   * log1pl(x)
  34   35   * Kahan's trick based on log(1+x)/x being a slow varying function.
  35   36   */
  36   37  
  37   38  #include "libm.h"
  38   39  
  39   40  #if defined(__x86)
  40   41  #define __swapRD        __swap87RD
  41   42  #endif
       43 +
  42   44  extern enum fp_direction_type __swapRD(enum fp_direction_type);
  43   45  
  44   46  long double
  45      -log1pl(long double x) {
       47 +log1pl(long double x)
       48 +{
  46   49          long double y;
  47   50          enum fp_direction_type rd;
  48   51  
  49   52          if (x != x)
  50   53                  return (x + x);
       54 +
  51   55          if (x < -1.L)
  52   56                  return (logl(x));
       57 +
  53   58          rd = __swapRD(fp_nearest);
  54   59          y = 1.L + x;
       60 +
  55   61          if (y != 1.L) {
  56   62                  if (y == x)
  57   63                          x = logl(x);
  58   64                  else
  59   65                          x *= logl(y) / (y - 1.L);
  60   66          }
       67 +
  61   68          if (rd != fp_nearest)
  62   69                  (void) __swapRD(rd);
       70 +
  63   71          return (x);
  64   72  }
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX