Print this page


Split Close
Expand all
Collapse all
          --- old/usr/src/lib/libm/common/R/sinf.c
          +++ new/usr/src/lib/libm/common/R/sinf.c
↓ open down ↓ 68 lines elided ↑ open up ↑
  69   69  #define half    C[10]
  70   70  #define pio2_1  C[11]
  71   71  #define pio2_t  C[12]
  72   72  
  73   73  float
  74   74  sinf(float x)
  75   75  {
  76   76          double  y, z, w;
  77   77          float   f;
  78   78          int     n, ix, hx, hy;
       79 +        volatile int i;
  79   80  
  80   81          hx = *((int *)&x);
  81   82          ix = hx & 0x7fffffff;
  82   83  
  83   84          y = (double)x;
  84   85  
  85   86          if (ix <= 0x4016cbe4) {         /* |x| < 3*pi/4 */
  86   87                  if (ix <= 0x3f490fdb) {         /* |x| < pi/4 */
  87   88                          if (ix <= 0x39800000) { /* |x| <= 2**-12 */
  88      -                                volatile int    i = (int)y;
       89 +                                i = (int)y;
  89   90  #ifdef lint
  90   91                                  i = i;
  91   92  #endif
  92   93                                  return (x);
  93   94                          }
  94   95                          z = y * y;
  95   96                          return ((float)((y * (S0 + z * S1)) *
  96   97                              (S2 + z * (S3 + z))));
  97   98                  } else if (hx > 0) {
  98   99                          y = (y - pio2_1) - pio2_t;
↓ open down ↓ 52 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX