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>
5262 libm needs to be carefully unifdef'd
5268 libm doesn't need to hide symbols which are already local
Reviewed by: Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
Reviewed by: Igor Kozhukhov <ikozhukhov@gmail.com>
Reviewed by: Gordon Ross <gwr@nexenta.com>
Approved by: Gordon Ross <gwr@nexenta.com>

Split Close
Expand all
Collapse all
          --- old/usr/src/lib/libm/common/C/pow.c
          +++ new/usr/src/lib/libm/common/C/pow.c
↓ open down ↓ 19 lines elided ↑ open up ↑
  20   20   */
  21   21  
  22   22  /*
  23   23   * Copyright 2011 Nexenta Systems, Inc.  All rights reserved.
  24   24   */
  25   25  /*
  26   26   * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
  27   27   * Use is subject to license terms.
  28   28   */
  29   29  
  30      -#if defined(ELFOBJ)
  31      -#pragma weak pow = __pow
  32      -#endif
       30 +#pragma weak __pow = pow
  33   31  
  34   32  /*
  35   33   * pow(x,y) return x**y
  36   34   *                    n
  37   35   * Method:  Let x =  2   * (1+f)
  38   36   *      1. Compute and return log2(x) in two pieces:
  39   37   *              log2(x) = w1 + w2,
  40   38   *         where w1 has 24 bits trailing zero.
  41   39   *      2. Perform y*log2(x) by simulating muti-precision arithmetic
  42   40   *      3. Return x**y = exp2(y*log(x))
↓ open down ↓ 301 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX