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/LD/sinpil.c
          +++ new/usr/src/lib/libm/common/LD/sinpil.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      -#pragma weak sinpil = __sinpil
  31      -
  32   30  /* long double sinpil(long double x),
  33   31   * return long double precision sinl(pi*x).
  34   32   *
  35   33   * Algorithm, 10/17/2002, K.C. Ng
  36   34   * ------------------------------
  37   35   * Let y = |4x|, z = floor(y), and n = (int)(z mod 8.0) (displayed in binary).
  38   36   *      1. If y == z, then x is a multiple of pi/4. Return the following values:
  39   37   *             ---------------------------------------------------
  40   38   *               n  x mod 2    sin(x*pi)    cos(x*pi)   tan(x*pi)
  41   39   *             ---------------------------------------------------
↓ open down ↓ 21 lines elided ↑ open up ↑
  63   61   *             ---------------------------------------------------
  64   62   *
  65   63   * NOTE. This program compute sinpi/cospi(t<0.25) by __k_sin/cos(pi*t, 0.0).
  66   64   * This will return a result with error slightly more than one ulp (but less
  67   65   * than 2 ulp). If one wants accurate result,  one may break up pi*t in
  68   66   * high (tpi_h) and low (tpi_l) parts and call __k_sin/cos(tip_h, tip_lo)
  69   67   * instead.
  70   68   */
  71   69  
  72   70  #include "libm.h"
  73      -#include "libm_synonyms.h"
  74   71  #include "longdouble.h"
  75   72  
  76   73  #include <sys/isa_defs.h>
  77   74  
  78   75  #define I(q, m) ((int *) &(q))[m]
  79   76  #define U(q, m) ((unsigned *) &(q))[m]
  80   77  #if defined(__i386) || defined(__amd64)
  81   78  #define LDBL_MOST_SIGNIF_I(ld)  ((I(ld, 2) << 16) | (0xffff & (I(ld, 1) >> 15)))
  82   79  #define LDBL_LEAST_SIGNIF_U(ld) U(ld, 0)
  83   80  #define PREC    64
↓ open down ↓ 92 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX