aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/llmath/llv4math.h
diff options
context:
space:
mode:
authorJacek Antonelli2008-08-15 23:45:02 -0500
committerJacek Antonelli2008-08-15 23:45:02 -0500
commitd644fc64407dcd14ffcee6a0e9fbe28ee3a4e9bd (patch)
tree7ed0c2c27d717801238a2e6b5749cd5bf88c3059 /linden/indra/llmath/llv4math.h
parentSecond Life viewer sources 1.17.3.0 (diff)
downloadmeta-impy-d644fc64407dcd14ffcee6a0e9fbe28ee3a4e9bd.zip
meta-impy-d644fc64407dcd14ffcee6a0e9fbe28ee3a4e9bd.tar.gz
meta-impy-d644fc64407dcd14ffcee6a0e9fbe28ee3a4e9bd.tar.bz2
meta-impy-d644fc64407dcd14ffcee6a0e9fbe28ee3a4e9bd.tar.xz
Second Life viewer sources 1.18.0.6
Diffstat (limited to '')
-rw-r--r--linden/indra/llmath/llv4math.h121
1 files changed, 0 insertions, 121 deletions
diff --git a/linden/indra/llmath/llv4math.h b/linden/indra/llmath/llv4math.h
deleted file mode 100644
index d0b956b..0000000
--- a/linden/indra/llmath/llv4math.h
+++ /dev/null
@@ -1,121 +0,0 @@
1/**
2 * @file llviewerjointmesh.cpp
3 * @brief LLV4* class header file - vector processor enabled math
4 *
5 * Copyright (c) 2007-2007, Linden Research, Inc.
6 *
7 * Second Life Viewer Source Code
8 * The source code in this file ("Source Code") is provided by Linden Lab
9 * to you under the terms of the GNU General Public License, version 2.0
10 * ("GPL"), unless you have obtained a separate licensing agreement
11 * ("Other License"), formally executed by you and Linden Lab. Terms of
12 * the GPL can be found in doc/GPL-license.txt in this distribution, or
13 * online at http://secondlife.com/developers/opensource/gplv2
14 *
15 * There are special exceptions to the terms and conditions of the GPL as
16 * it is applied to this Source Code. View the full text of the exception
17 * in the file doc/FLOSS-exception.txt in this software distribution, or
18 * online at http://secondlife.com/developers/opensource/flossexception
19 *
20 * By copying, modifying or distributing this software, you acknowledge
21 * that you have read and understood your obligations described above,
22 * and agree to abide by those obligations.
23 *
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE.
27 */
28
29#ifndef LL_LLV4MATH_H
30#define LL_LLV4MATH_H
31
32//-----------------------------------------------------------------------------
33//-----------------------------------------------------------------------------
34// LLV4MATH - GNUC
35//-----------------------------------------------------------------------------
36//-----------------------------------------------------------------------------
37
38#if LL_GNUC && __GNUC__ >= 4 && __SSE__
39
40#define LL_VECTORIZE 1
41
42#if LL_DARWIN
43
44#include <Accelerate/Accelerate.h>
45#include <xmmintrin.h>
46typedef vFloat V4F32;
47
48#else
49
50#include <xmmintrin.h>
51typedef float V4F32 __attribute__((vector_size(16)));
52
53#endif
54
55#endif
56#if LL_GNUC
57
58#define LL_LLV4MATH_ALIGN_PREFIX
59#define LL_LLV4MATH_ALIGN_POSTFIX __attribute__((aligned(16)))
60
61#endif
62
63//-----------------------------------------------------------------------------
64//-----------------------------------------------------------------------------
65// LLV4MATH - MSVC
66//-----------------------------------------------------------------------------
67//-----------------------------------------------------------------------------
68
69#if LL_MSVC && _M_IX86_FP
70
71#define LL_VECTORIZE 1
72
73#include <xmmintrin.h>
74
75typedef __m128 V4F32;
76
77#endif
78#if LL_MSVC
79
80#define LL_LLV4MATH_ALIGN_PREFIX __declspec(align(16))
81#define LL_LLV4MATH_ALIGN_POSTFIX
82
83#endif
84
85//-----------------------------------------------------------------------------
86//-----------------------------------------------------------------------------
87// LLV4MATH - default - no vectorization
88//-----------------------------------------------------------------------------
89//-----------------------------------------------------------------------------
90
91#if !LL_VECTORIZE
92
93#define LL_VECTORIZE 0
94
95struct V4F32 { F32 __pad__[4]; };
96
97inline F32 llv4lerp(F32 a, F32 b, F32 w) { return ( b - a ) * w + a; }
98
99#endif
100
101#ifndef LL_LLV4MATH_ALIGN_PREFIX
102# define LL_LLV4MATH_ALIGN_PREFIX
103#endif
104#ifndef LL_LLV4MATH_ALIGN_POSTFIX
105# define LL_LLV4MATH_ALIGN_POSTFIX
106#endif
107
108//-----------------------------------------------------------------------------
109//-----------------------------------------------------------------------------
110// LLV4MATH
111//-----------------------------------------------------------------------------
112//-----------------------------------------------------------------------------
113
114
115#define LLV4_NUM_AXIS 4
116
117class LLV4Vector3;
118class LLV4Matrix3;
119class LLV4Matrix4;
120
121#endif