GteIntelSSE.cpp
Go to the documentation of this file.
1 // David Eberly, Geometric Tools, Redmond WA 98052
2 // Copyright (c) 1998-2017
3 // Distributed under the Boost Software License, Version 1.0.
4 // http://www.boost.org/LICENSE_1_0.txt
5 // http://www.geometrictools.com/License/Boost/LICENSE_1_0.txt
6 // File Version: 3.0.0 (2016/06/19)
7 
8 #include <GTEnginePCH.h>
11 using namespace gte;
12 
13 // Integer masks.
14 SIMD::Vector const SIMD::ZZZZ(0u);
15 SIMD::Vector const SIMD::ZZZF(0x00000000u, 0x00000000u, 0x00000000u, 0xFFFFFFFFu);
16 SIMD::Vector const SIMD::ZZFZ(0x00000000u, 0x00000000u, 0xFFFFFFFFu, 0x00000000u);
17 SIMD::Vector const SIMD::ZZFF(0x00000000u, 0x00000000u, 0xFFFFFFFFu, 0xFFFFFFFFu);
18 SIMD::Vector const SIMD::ZFZZ(0x00000000u, 0xFFFFFFFFu, 0x00000000u, 0x00000000u);
19 SIMD::Vector const SIMD::ZFZF(0x00000000u, 0xFFFFFFFFu, 0x00000000u, 0xFFFFFFFFu);
20 SIMD::Vector const SIMD::ZFFZ(0x00000000u, 0xFFFFFFFFu, 0xFFFFFFFFu, 0x00000000u);
21 SIMD::Vector const SIMD::ZFFF(0x00000000u, 0xFFFFFFFFu, 0xFFFFFFFFu, 0xFFFFFFFFu);
22 SIMD::Vector const SIMD::FZZZ(0xFFFFFFFFu, 0x00000000u, 0x00000000u, 0x00000000u);
23 SIMD::Vector const SIMD::FZZF(0xFFFFFFFFu, 0x00000000u, 0x00000000u, 0xFFFFFFFFu);
24 SIMD::Vector const SIMD::FZFZ(0xFFFFFFFFu, 0x00000000u, 0xFFFFFFFFu, 0x00000000u);
25 SIMD::Vector const SIMD::FZFF(0xFFFFFFFFu, 0x00000000u, 0xFFFFFFFFu, 0xFFFFFFFFu);
26 SIMD::Vector const SIMD::FFZZ(0xFFFFFFFFu, 0xFFFFFFFFu, 0x00000000u, 0x00000000u);
27 SIMD::Vector const SIMD::FFZF(0xFFFFFFFFu, 0xFFFFFFFFu, 0x00000000u, 0xFFFFFFFFu);
28 SIMD::Vector const SIMD::FFFZ(0xFFFFFFFFu, 0xFFFFFFFFu, 0xFFFFFFFFu, 0x00000000u);
29 SIMD::Vector const SIMD::FFFF(0xFFFFFFFFu);
30 SIMD::Vector const SIMD::SIGN(0x80000000u);
31 SIMD::Vector const SIMD::NSIGN(0x7FFFFFFFu);
32 SIMD::Vector const SIMD::NOFRC(0x00800000u);
33 
34 // Numeric constants.
35 SIMD::Vector const SIMD::PZZZ(+1.0f, 0.0f, 0.0f, 0.0f);
36 SIMD::Vector const SIMD::ZPZZ( 0.0f, +1.0f, 0.0f, 0.0f);
37 SIMD::Vector const SIMD::ZZPZ( 0.0f, 0.0f, +1.0f, 0.0f);
38 SIMD::Vector const SIMD::ZZZP( 0.0f, 0.0f, 0.0f, +1.0f);
39 SIMD::Vector const SIMD::MZZZ(-1.0f, 0.0f, 0.0f, 0.0f);
40 SIMD::Vector const SIMD::ZMZZ( 0.0f, -1.0f, 0.0f, 0.0f);
41 SIMD::Vector const SIMD::ZZMZ( 0.0f, 0.0f, -1.0f, 0.0f);
42 SIMD::Vector const SIMD::ZZZM( 0.0f, 0.0f, 0.0f, -1.0f);
43 SIMD::Vector const SIMD::MMMM(-1.0f, -1.0f, -1.0f, -1.0f);
44 SIMD::Vector const SIMD::MMMP(-1.0f, -1.0f, -1.0f, +1.0f);
45 SIMD::Vector const SIMD::MMPM(-1.0f, -1.0f, +1.0f, -1.0f);
46 SIMD::Vector const SIMD::MMPP(-1.0f, -1.0f, +1.0f, +1.0f);
47 SIMD::Vector const SIMD::MPMM(-1.0f, +1.0f, -1.0f, -1.0f);
48 SIMD::Vector const SIMD::MPMP(-1.0f, +1.0f, -1.0f, +1.0f);
49 SIMD::Vector const SIMD::MPPM(-1.0f, +1.0f, +1.0f, -1.0f);
50 SIMD::Vector const SIMD::MPPP(-1.0f, +1.0f, +1.0f, +1.0f);
51 SIMD::Vector const SIMD::PMMM(+1.0f, -1.0f, -1.0f, -1.0f);
52 SIMD::Vector const SIMD::PMMP(+1.0f, -1.0f, -1.0f, +1.0f);
53 SIMD::Vector const SIMD::PMPM(+1.0f, -1.0f, +1.0f, -1.0f);
54 SIMD::Vector const SIMD::PMPP(+1.0f, -1.0f, +1.0f, +1.0f);
55 SIMD::Vector const SIMD::PPMM(+1.0f, +1.0f, -1.0f, -1.0f);
56 SIMD::Vector const SIMD::PPMP(+1.0f, +1.0f, -1.0f, +1.0f);
57 SIMD::Vector const SIMD::PPPM(+1.0f, +1.0f, +1.0f, -1.0f);
58 SIMD::Vector const SIMD::PPPP(+1.0f, +1.0f, +1.0f, +1.0f);
59 SIMD::Vector const SIMD::UNIT[4] = { PZZZ, ZPZZ, ZZPZ, ZZZP };
60 
61 // Constants involving pi.
62 SIMD::Vector const SIMD::PI((float)GTE_C_PI);
67 
68 // Constants to support approximations of sin(x).
79 
80 // Constants to support approximations of cos(x).
static Vector const ZZZF
Definition: GteIntelSSE.h:202
static Vector const C_COS_APPR_DEG10_1
Definition: GteIntelSSE.h:273
#define GTE_C_SIN_DEG7_C0
Definition: GteConstants.h:172
static Vector const ZZPZ
Definition: GteIntelSSE.h:224
#define GTE_C_SIN_DEG11_C2
Definition: GteConstants.h:187
static Vector const C_COS_APPR_DEG10_0
Definition: GteIntelSSE.h:272
static Vector const ZFFZ
Definition: GteIntelSSE.h:207
#define GTE_C_COS_DEG10_C5
Definition: GteConstants.h:222
static Vector const FFZF
Definition: GteIntelSSE.h:214
static Vector const ZFFF
Definition: GteIntelSSE.h:208
#define GTE_C_COS_DEG6_C0
Definition: GteConstants.h:204
static Vector const FFFF
Definition: GteIntelSSE.h:216
#define GTE_C_INV_TWO_PI
Definition: GteConstants.h:22
static Vector const PPPM
Definition: GteIntelSSE.h:244
static Vector const PI
Definition: GteIntelSSE.h:249
static Vector const PPMP
Definition: GteIntelSSE.h:243
static Vector const FZFZ
Definition: GteIntelSSE.h:211
static Vector const C_SIN_APPR_DEG11_4
Definition: GteIntelSSE.h:264
static Vector const MMMM
Definition: GteIntelSSE.h:230
static Vector const FFFZ
Definition: GteIntelSSE.h:215
static Vector const C_SIN_APPR_DEG11_2
Definition: GteIntelSSE.h:262
static Vector const FZZF
Definition: GteIntelSSE.h:210
#define GTE_C_SIN_DEG11_C3
Definition: GteConstants.h:188
static Vector const FZFF
Definition: GteIntelSSE.h:212
static Vector const MPPM
Definition: GteIntelSSE.h:236
#define GTE_C_SIN_DEG7_C1
Definition: GteConstants.h:173
static Vector const C_COS_APPR_DEG6_3
Definition: GteIntelSSE.h:281
static Vector const MMPM
Definition: GteIntelSSE.h:232
static Vector const C_COS_APPR_DEG10_2
Definition: GteIntelSSE.h:274
static Vector const MPMM
Definition: GteIntelSSE.h:234
static Vector const FFZZ
Definition: GteIntelSSE.h:213
static Vector const ZZZM
Definition: GteIntelSSE.h:229
static Vector const C_COS_APPR_DEG6_1
Definition: GteIntelSSE.h:279
static Vector const PMPP
Definition: GteIntelSSE.h:241
#define GTE_C_COS_DEG6_C2
Definition: GteConstants.h:206
static Vector const C_SIN_APPR_DEG11_0
Definition: GteIntelSSE.h:260
static Vector const C_SIN_APPR_DEG11_1
Definition: GteIntelSSE.h:261
#define GTE_C_SIN_DEG7_C3
Definition: GteConstants.h:175
static Vector const C_COS_APPR_DEG10_4
Definition: GteIntelSSE.h:276
static Vector const PZZZ
Definition: GteIntelSSE.h:222
static Vector const MMMP
Definition: GteIntelSSE.h:231
static Vector const C_SIN_APPR_DEG11_3
Definition: GteIntelSSE.h:263
#define GTE_C_SIN_DEG11_C5
Definition: GteConstants.h:190
static Vector const PMMP
Definition: GteIntelSSE.h:239
static Vector const ZZFZ
Definition: GteIntelSSE.h:203
#define GTE_C_SIN_DEG11_C1
Definition: GteConstants.h:186
#define GTE_C_COS_DEG10_C2
Definition: GteConstants.h:219
static Vector const MPMP
Definition: GteIntelSSE.h:235
#define GTE_C_PI
Definition: GteConstants.h:17
#define GTE_C_COS_DEG10_C0
Definition: GteConstants.h:217
static Vector const C_SIN_APPR_DEG7_3
Definition: GteIntelSSE.h:269
static Vector const MMPP
Definition: GteIntelSSE.h:233
#define GTE_C_COS_DEG6_C3
Definition: GteConstants.h:207
static Vector const ZZZP
Definition: GteIntelSSE.h:225
static Vector const PPPP
Definition: GteIntelSSE.h:245
static Vector const SIGN
Definition: GteIntelSSE.h:217
static Vector const INV_TWO_PI
Definition: GteIntelSSE.h:253
static Vector const PMPM
Definition: GteIntelSSE.h:240
static Vector const ZFZZ
Definition: GteIntelSSE.h:205
static Vector const NSIGN
Definition: GteIntelSSE.h:218
static Vector const ZZFF
Definition: GteIntelSSE.h:204
#define GTE_C_SIN_DEG7_C2
Definition: GteConstants.h:174
static Vector const C_COS_APPR_DEG10_5
Definition: GteIntelSSE.h:277
static Vector const UNIT[4]
Definition: GteIntelSSE.h:246
#define GTE_C_COS_DEG6_C1
Definition: GteConstants.h:205
static Vector const C_SIN_APPR_DEG7_2
Definition: GteIntelSSE.h:268
static Vector const C_COS_APPR_DEG6_2
Definition: GteIntelSSE.h:280
#define GTE_C_SIN_DEG11_C4
Definition: GteConstants.h:189
static Vector const HALF_PI
Definition: GteIntelSSE.h:250
static Vector const ZFZF
Definition: GteIntelSSE.h:206
static Vector const INV_PI
Definition: GteIntelSSE.h:252
static Vector const MPPP
Definition: GteIntelSSE.h:237
static Vector const FZZZ
Definition: GteIntelSSE.h:209
#define GTE_C_HALF_PI
Definition: GteConstants.h:18
static Vector const PMMM
Definition: GteIntelSSE.h:238
static Vector const C_COS_APPR_DEG10_3
Definition: GteIntelSSE.h:275
static Vector const ZZZZ
Definition: GteIntelSSE.h:201
static Vector const TWO_PI
Definition: GteIntelSSE.h:251
#define GTE_C_COS_DEG10_C1
Definition: GteConstants.h:218
GLfloat f
Definition: glcorearb.h:1921
static Vector const C_SIN_APPR_DEG7_1
Definition: GteIntelSSE.h:267
static Vector const ZPZZ
Definition: GteIntelSSE.h:223
#define GTE_C_COS_DEG10_C4
Definition: GteConstants.h:221
static Vector const C_SIN_APPR_DEG7_0
Definition: GteIntelSSE.h:266
static Vector const C_SIN_APPR_DEG11_5
Definition: GteIntelSSE.h:265
static Vector const MZZZ
Definition: GteIntelSSE.h:226
static Vector const ZZMZ
Definition: GteIntelSSE.h:228
#define GTE_C_INV_PI
Definition: GteConstants.h:21
static Vector const C_COS_APPR_DEG6_0
Definition: GteIntelSSE.h:278
#define GTE_C_SIN_DEG11_C0
Definition: GteConstants.h:185
#define GTE_C_TWO_PI
Definition: GteConstants.h:20
static Vector const ZMZZ
Definition: GteIntelSSE.h:227
static Vector const NOFRC
Definition: GteIntelSSE.h:219
static Vector const PPMM
Definition: GteIntelSSE.h:242
#define GTE_C_COS_DEG10_C3
Definition: GteConstants.h:220


geometric_tools_engine
Author(s): Yijiang Huang
autogenerated on Thu Jul 18 2019 04:00:00