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