Main Page | Namespace List | Class Hierarchy | Compound List | File List | Namespace Members | Compound Members | File Members | Related Pages

gr_sincos.h File Reference

Go to the source code of this file.

Defines

#define __GR_MATH_INLINE   extern __inline
#define __sincos_code

Functions

__GR_MATH_INLINE void __sincos (double __x, double *__sinx, double *__cosx) __THROW
__GR_MATH_INLINE void __sincosf (float __x, float *__sinx, float *__cosx) __THROW
__GR_MATH_INLINE void __sincosl (long double __x, long double *__sinx, long double *__cosx) __THROW


Define Documentation

#define __GR_MATH_INLINE   extern __inline
 

#define __sincos_code
 

Value:

register long double __cosr;                                                  \
  register long double __sinr;                                                \
  __asm __volatile__                                                          \
    ("fsincos\n\t"                                                            \
     "fnstsw    %%ax\n\t"                                                     \
     "testl     $0x400, %%eax\n\t"                                            \
     "jz        1f\n\t"                                                       \
     "fldpi\n\t"                                                              \
     "fadd      %%st(0)\n\t"                                                  \
     "fxch      %%st(1)\n\t"                                                  \
     "2: fprem1\n\t"                                                          \
     "fnstsw    %%ax\n\t"                                                     \
     "testl     $0x400, %%eax\n\t"                                            \
     "jnz       2b\n\t"                                                       \
     "fstp      %%st(1)\n\t"                                                  \
     "fsincos\n\t"                                                            \
     "1:"                                                                     \
     : "=t" (__cosr), "=u" (__sinr) : "0" (__x));                             \
  *__sinx = __sinr;                                                           \
  *__cosx = __cosr


Function Documentation

__GR_MATH_INLINE void __sincos double  __x,
double *  __sinx,
double *  __cosx
 

__GR_MATH_INLINE void __sincosf float  __x,
float *  __sinx,
float *  __cosx
 

__GR_MATH_INLINE void __sincosl long double  __x,
long double *  __sinx,
long double *  __cosx
 


Generated on Tue Mar 30 21:31:57 2004 for GNU Radio by doxygen 1.3.2