Print this page


Split Close
Expand all
Collapse all
          --- old/usr/src/lib/libm/common/R/sincosf.c
          +++ new/usr/src/lib/libm/common/R/sincosf.c
↓ open down ↓ 90 lines elided ↑ open up ↑
  91   91  #define half    C[10]
  92   92  #define pio2_1  C[11]
  93   93  #define pio2_t  C[12]
  94   94  
  95   95  void
  96   96  sincosf(float x, float *s, float *c)
  97   97  {
  98   98          double  y, z, w;
  99   99          float   f, g;
 100  100          int     n, ix, hx, hy;
      101 +        volatile int i;
 101  102  
 102  103          hx = *((int *)&x);
 103  104          ix = hx & 0x7fffffff;
 104  105  
 105  106          y = (double)x;
 106  107  
 107  108          if (ix <= 0x4016cbe4) {         /* |x| < 3*pi/4 */
 108  109                  if (ix <= 0x3f490fdb) {         /* |x| < pi/4 */
 109  110                          if (ix <= 0x39800000) { /* |x| <= 2**-12 */
 110      -                                volatile int    i = (int)y;
      111 +                                i = (int)y;
 111  112  #ifdef lint
 112  113                                  i = i;
 113  114  #endif
 114  115                                  *s = x;
 115  116                                  *c = 1.0f;
 116  117                                  return;
 117  118                          }
 118  119                          z = y * y;
 119  120                          *s = (float)((y * (S0 + z * S1)) *
 120  121                              (S2 + z * (S3 + z)));
↓ open down ↓ 66 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX