LILAC
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Macros | Typedefs | Functions
inline_trig.h File Reference
#include <xmmintrin.h>
#include <emmintrin.h>
Include dependency graph for inline_trig.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define USE_SSE2
#define ALIGN16_BEG
#define ALIGN16_END   __attribute__((aligned(16)))
#define _PS_CONST(Name, Val)   static const ALIGN16_BEG float _ps_##Name[4] ALIGN16_END = { Val, Val, Val, Val }
#define _PI32_CONST(Name, Val)   static const ALIGN16_BEG int _pi32_##Name[4] ALIGN16_END = { Val, Val, Val, Val }
#define _PS_CONST_TYPE(Name, Type, Val)   static const ALIGN16_BEG Type _ps_##Name[4] ALIGN16_END = { Val, Val, Val, Val }

Typedefs

typedef __m128 v4sf
typedef __m128i v4si

Functions

 _PS_CONST (1, 1.0f)
 _PS_CONST (0p5, 0.5f)
 _PS_CONST_TYPE (min_norm_pos, int, 0x00800000)
 _PS_CONST_TYPE (mant_mask, int, 0x7f800000)
 _PS_CONST_TYPE (inv_mant_mask, int,~0x7f800000)
 _PS_CONST_TYPE (sign_mask, int,(int) 0x80000000)
 _PS_CONST_TYPE (inv_sign_mask, int,~0x80000000)
 _PI32_CONST (1, 1)
 _PI32_CONST (inv1,~1)
 _PI32_CONST (2, 2)
 _PI32_CONST (4, 4)
 _PI32_CONST (0x7f, 0x7f)
 _PS_CONST (cephes_SQRTHF, 0.707106781186547524)
 _PS_CONST (cephes_log_p0, 7.0376836292E-2)
 _PS_CONST (cephes_log_p1,-1.1514610310E-1)
 _PS_CONST (cephes_log_p2, 1.1676998740E-1)
 _PS_CONST (cephes_log_p3,-1.2420140846E-1)
 _PS_CONST (cephes_log_p4,+1.4249322787E-1)
 _PS_CONST (cephes_log_p5,-1.6668057665E-1)
 _PS_CONST (cephes_log_p6,+2.0000714765E-1)
 _PS_CONST (cephes_log_p7,-2.4999993993E-1)
 _PS_CONST (cephes_log_p8,+3.3333331174E-1)
 _PS_CONST (cephes_log_q1,-2.12194440e-4)
 _PS_CONST (cephes_log_q2, 0.693359375)
v4sf log_ps (v4sf x)
 _PS_CONST (exp_hi, 88.3762626647949f)
 _PS_CONST (exp_lo,-88.3762626647949f)
 _PS_CONST (cephes_LOG2EF, 1.44269504088896341)
 _PS_CONST (cephes_exp_C1, 0.693359375)
 _PS_CONST (cephes_exp_C2,-2.12194440e-4)
 _PS_CONST (cephes_exp_p0, 1.9875691500E-4)
 _PS_CONST (cephes_exp_p1, 1.3981999507E-3)
 _PS_CONST (cephes_exp_p2, 8.3334519073E-3)
 _PS_CONST (cephes_exp_p3, 4.1665795894E-2)
 _PS_CONST (cephes_exp_p4, 1.6666665459E-1)
 _PS_CONST (cephes_exp_p5, 5.0000001201E-1)
v4sf exp_ps (v4sf x)
 _PS_CONST (minus_cephes_DP1,-0.78515625)
 _PS_CONST (minus_cephes_DP2,-2.4187564849853515625e-4)
 _PS_CONST (minus_cephes_DP3,-3.77489497744594108e-8)
 _PS_CONST (sincof_p0,-1.9515295891E-4)
 _PS_CONST (sincof_p1, 8.3321608736E-3)
 _PS_CONST (sincof_p2,-1.6666654611E-1)
 _PS_CONST (coscof_p0, 2.443315711809948E-005)
 _PS_CONST (coscof_p1,-1.388731625493765E-003)
 _PS_CONST (coscof_p2, 4.166664568298827E-002)
 _PS_CONST (cephes_FOPI, 1.27323954473516)
v4sf sin_ps (v4sf x)
v4sf cos_ps (v4sf x)
void sincos_ps (v4sf x, v4sf *s, v4sf *c)

Macro Definition Documentation

#define _PI32_CONST (   Name,
  Val 
)    static const ALIGN16_BEG int _pi32_##Name[4] ALIGN16_END = { Val, Val, Val, Val }

Definition at line 57 of file inline_trig.h.

#define _PS_CONST (   Name,
  Val 
)    static const ALIGN16_BEG float _ps_##Name[4] ALIGN16_END = { Val, Val, Val, Val }

Definition at line 55 of file inline_trig.h.

#define _PS_CONST_TYPE (   Name,
  Type,
  Val 
)    static const ALIGN16_BEG Type _ps_##Name[4] ALIGN16_END = { Val, Val, Val, Val }

Definition at line 59 of file inline_trig.h.

#define ALIGN16_BEG

Definition at line 40 of file inline_trig.h.

#define ALIGN16_END   __attribute__((aligned(16)))

Definition at line 41 of file inline_trig.h.

#define USE_SSE2

Definition at line 33 of file inline_trig.h.

Typedef Documentation

typedef __m128 v4sf

Definition at line 45 of file inline_trig.h.

typedef __m128i v4si

Definition at line 49 of file inline_trig.h.

Function Documentation

_PI32_CONST ( ,
 
)
_PI32_CONST ( inv1  ,
1 
)
_PI32_CONST ( ,
 
)
_PI32_CONST ( ,
 
)
_PI32_CONST ( 0x7f  ,
0x7f   
)
_PS_CONST ( ,
1.  0f 
)
_PS_CONST ( 0p5  ,
0.  5f 
)
_PS_CONST ( cephes_SQRTHF  ,
0.  707106781186547524 
)
_PS_CONST ( cephes_log_p0  ,
7.0376836292E-  2 
)
_PS_CONST ( cephes_log_p1  ,
-1.1514610310E-  1 
)
_PS_CONST ( cephes_log_p2  ,
1.1676998740E-  1 
)
_PS_CONST ( cephes_log_p3  ,
-1.2420140846E-  1 
)
_PS_CONST ( cephes_log_p4  ,
+1.4249322787E-  1 
)
_PS_CONST ( cephes_log_p5  ,
-1.6668057665E-  1 
)
_PS_CONST ( cephes_log_p6  ,
+2.0000714765E-  1 
)
_PS_CONST ( cephes_log_p7  ,
-2.4999993993E-  1 
)
_PS_CONST ( cephes_log_p8  ,
+3.3333331174E-  1 
)
_PS_CONST ( cephes_log_q1  ,
-2.12194440e-  4 
)
_PS_CONST ( cephes_log_q2  ,
0.  693359375 
)
_PS_CONST ( exp_hi  ,
88.  3762626647949f 
)
_PS_CONST ( exp_lo  ,
-88.  3762626647949f 
)
_PS_CONST ( cephes_LOG2EF  ,
1.  44269504088896341 
)
_PS_CONST ( cephes_exp_C1  ,
0.  693359375 
)
_PS_CONST ( cephes_exp_C2  ,
-2.12194440e-  4 
)
_PS_CONST ( cephes_exp_p0  ,
1.9875691500E-  4 
)
_PS_CONST ( cephes_exp_p1  ,
1.3981999507E-  3 
)
_PS_CONST ( cephes_exp_p2  ,
8.3334519073E-  3 
)
_PS_CONST ( cephes_exp_p3  ,
4.1665795894E-  2 
)
_PS_CONST ( cephes_exp_p4  ,
1.6666665459E-  1 
)
_PS_CONST ( cephes_exp_p5  ,
5.0000001201E-  1 
)
_PS_CONST ( minus_cephes_DP1  ,
-0.  78515625 
)
_PS_CONST ( minus_cephes_DP2  ,
-2.4187564849853515625e-  4 
)
_PS_CONST ( minus_cephes_DP3  ,
-3.77489497744594108e-  8 
)
_PS_CONST ( sincof_p0  ,
-1.9515295891E-  4 
)
_PS_CONST ( sincof_p1  ,
8.3321608736E-  3 
)
_PS_CONST ( sincof_p2  ,
-1.6666654611E-  1 
)
_PS_CONST ( coscof_p0  ,
2.443315711809948E-  005 
)
_PS_CONST ( coscof_p1  ,
-1.388731625493765E-  003 
)
_PS_CONST ( coscof_p2  ,
4.166664568298827E-  002 
)
_PS_CONST ( cephes_FOPI  ,
1.  27323954473516 
)
_PS_CONST_TYPE ( min_norm_pos  ,
int  ,
0x00800000   
)
_PS_CONST_TYPE ( mant_mask  ,
int  ,
0x7f800000   
)
_PS_CONST_TYPE ( inv_mant_mask  ,
int  ,
0x7f800000 
)
_PS_CONST_TYPE ( sign_mask  ,
int  ,
(int)  0x80000000 
)
_PS_CONST_TYPE ( inv_sign_mask  ,
int  ,
0x80000000 
)
v4sf cos_ps ( v4sf  x)

Definition at line 449 of file inline_trig.h.

Here is the caller graph for this function:

v4sf exp_ps ( v4sf  x)

Definition at line 214 of file inline_trig.h.

v4sf log_ps ( v4sf  x)

Definition at line 112 of file inline_trig.h.

Here is the caller graph for this function:

v4sf sin_ps ( v4sf  x)

Definition at line 332 of file inline_trig.h.

Here is the caller graph for this function:

void sincos_ps ( v4sf  x,
v4sf s,
v4sf c 
)

Definition at line 568 of file inline_trig.h.