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

Split Close
Expand all
Collapse all
          --- old/usr/src/lib/libm/common/C/sinh.c
          +++ new/usr/src/lib/libm/common/C/sinh.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 __sinh = sinh
  30   32  
  31      -/* INDENT OFF */
       33 +
  32   34  /*
  33   35   * sinh(x)
  34   36   * Code originated from 4.3bsd.
  35   37   * Modified by K.C. Ng for SUN 4.0 libm.
  36   38   * Method :
  37   39   *      1. reduce x to non-negative by sinh(-x) = - sinh(x).
  38   40   *      2.
  39   41   *
  40   42   *                                   expm1(x) + expm1(x)/(expm1(x)+1)
  41   43   *   0 <= x <= lnovft   : sinh(x) := --------------------------------
  42   44   *                                                                     2
  43   45   *  lnovft <= x <  INF  : sinh(x) := exp(x-1024*ln2)*2**1023
  44   46   *
  45   47   *
  46   48   * Special cases:
  47   49   *      sinh(x) is x if x is +INF, -INF, or NaN.
  48   50   *      only sinh(0)=0 is exact for finite argument.
  49   51   *
  50   52   */
  51      -/* INDENT ON */
  52   53  
  53   54  #include "libm.h"
  54   55  
  55      -static const double
  56      -        ln2hi = 6.93147180369123816490e-01,
       56 +static const double ln2hi = 6.93147180369123816490e-01,
  57   57          ln2lo = 1.90821492927058770002e-10,
  58   58          lnovft = 7.09782712893383973096e+02;
  59   59  
  60   60  double
  61      -sinh(double x) {
  62      -        double  ox, r, t;
       61 +sinh(double x)
       62 +{
       63 +        double ox, r, t;
  63   64  
  64   65          ox = x;
  65   66          r = fabs(x);
       67 +
  66   68          if (!finite(x))
  67   69                  return (x * r);
       70 +
  68   71          if (r < lnovft) {
  69   72                  t = expm1(r);
  70   73                  r = copysign((t + t / (1.0 + t)) * 0.5, x);
  71   74          } else {
  72   75                  if (r < 1000.0)
  73   76                          x = copysign(exp((r - 1024 * ln2hi) - 1024 * ln2lo), x);
       77 +
  74   78                  r = scalbn(x, 1023);
  75   79          }
       80 +
  76   81          if (!finite(r))
  77   82                  r = _SVID_libm_err(ox, ox, 25);
       83 +
  78   84          return (r);
  79   85  }
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX