Print this page
5261 libm should stop using synonyms.h
5298 fabs is 0-sized, confuses dis(1) and others
Reviewed by: Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
Approved by: Gordon Ross <gwr@nexenta.com>

Split Close
Expand all
Collapse all
          --- old/usr/src/lib/libm/common/R/atanhf.c
          +++ new/usr/src/lib/libm/common/R/atanhf.c
↓ open down ↓ 18 lines elided ↑ open up ↑
  19   19   * CDDL HEADER END
  20   20   */
  21   21  /*
  22   22   * Copyright 2011 Nexenta Systems, Inc.  All rights reserved.
  23   23   */
  24   24  /*
  25   25   * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
  26   26   * Use is subject to license terms.
  27   27   */
  28   28  
  29      -#pragma weak atanhf = __atanhf
       29 +#pragma weak __atanhf = atanhf
  30   30  
  31   31  #include "libm.h"
  32   32  
  33   33  static const float zero = 0.0f;
  34   34  
  35   35  float
  36   36  atanhf(float x) {
  37   37          int     ix;
  38   38  
  39   39          ix = *((int *)&x) & ~0x80000000;
  40   40          if (ix > 0x3f800000)    /* |x| > 1 or x is nan */
  41   41                  return ((x * zero) / zero);
  42   42          if (ix == 0x3f800000)   /* |x| == 1 */
  43   43                  return (x / zero);
  44   44          return ((float)atanh((double)x));
  45   45  }
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX