| typedef signed int __int32_t; | |
| typedef unsigned int __uint32_t; | |
| typedef union | |
| { | |
| double value; | |
| struct | |
| { | |
| __uint32_t msw; | |
| __uint32_t lsw; | |
| } parts; | |
| } ieee_double_shape_type; | |
| two52= 4.50359962737049600000e+15, | |
| w6 = -1.63092934096575273989e-03; | |
| double sin_pi(double x) | |
| { | |
| double y,z; | |
| __int32_t n,ix; | |
| ieee_double_shape_type gh_u; | |
| gh_u.value = (x); | |
| (ix) = gh_u.parts.msw; | |
| if(ix<0x43300000) | |
| z = y+two52; | |
| ieee_double_shape_type gl_u; | |
| gl_u.value = (z); | |
| (n) = gl_u.parts.lsw; | |
| n &= 1; | |
| switch (n) | |
| { | |
| case 0: | |
| __kernel_sin(); | |
| } | |
| } |