-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTest__VectorBasicOps.cs
197 lines (186 loc) · 8.39 KB
/
Test__VectorBasicOps.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
namespace TEST;
internal static partial class Program {
static void Test__VectorBasicOps() {
PRINT("\n[Utility.VEC BasicOps]");
//PRINT($"{}");
//======================================================================================================================================================
RESULT("abs()", true
&& abs(-2f) == 2f && abs((-2f,-2f)) == (2f,2f) && abs((-2f,-2f,-2f)) == (2f,2f,2f) && abs((-2f,-2f,-2f,-2f)) == (2f,2f,2f,2f)
&& abs(-1f) == 1f && abs((-1f,-1f)) == (1f,1f) && abs((-1f,-1f,-1f)) == (1f,1f,1f) && abs((-1f,-1f,-1f,-1f)) == (1f,1f,1f,1f)
&& abs( 0f) == 0f && abs(( 0f, 0f)) == (0f,0f) && abs(( 0f, 0f, 0f)) == (0f,0f,0f) && abs(( 0f, 0f, 0f, 0f)) == (0f,0f,0f,0f)
&& abs( 1f) == 1f && abs(( 1f, 1f)) == (1f,1f) && abs(( 1f, 1f, 1f)) == (1f,1f,1f) && abs(( 1f, 1f, 1f, 1f)) == (1f,1f,1f,1f)
&& abs( 2f) == 2f && abs(( 2f, 2f)) == (2f,2f) && abs(( 2f, 2f, 2f)) == (2f,2f,2f) && abs(( 2f, 2f, 2f, 2f)) == (2f,2f,2f,2f)
);
//======================================================================================================================================================
RESULT("avg()", true
&& avg(0f,1f ) == 0.5f && avg((0f,0f), (1f,1f) ) == (0.5f, 0.5f) && avg((0f,0f,0f), (1f,1f,1f) ) == (0.5f, 0.5f, 0.5f)
&& avg(0f,1f,2f ) == 1.0f && avg((0f,0f), (1f,1f), (2f,2f) ) == (1.0f, 1.0f) && avg((0f,0f,0f), (1f,1f,1f), (2f,2f,2f) ) == (1.0f, 1.0f, 1.0f)
&& avg(0f,1f,2f,3f) == 1.5f && avg((0f,0f), (1f,1f), (2f,2f), (3f,3f)) == (1.5f, 1.5f) && avg((0f,0f,0f), (1f,1f,1f), (2f,2f,2f), (3f,3f,3f)) == (1.5f, 1.5f, 1.5f)
);
//======================================================================================================================================================
RESULT("clamp()", true
&& clamp(-3f, -1f, 1f) == -1f
&& clamp(-2f, -1f, 1f) == -1f
&& clamp(-1f, -1f, 1f) == -1f
&& clamp( 0f, -1f, 1f) == 0f
&& clamp( 1f, -1f, 1f) == 1f
&& clamp( 2f, -1f, 1f) == 1f
&& clamp( 3f, -1f, 1f) == 1f
);
RESULT("wrap()", true
&& wrap(-8f, 0f, 4f) == 0f
&& wrap(-7f, 0f, 4f) == 1f
&& wrap(-6f, 0f, 4f) == 2f
&& wrap(-5f, 0f, 4f) == 3f
&& wrap(-4f, 0f, 4f) == 0f
&& wrap(-3f, 0f, 4f) == 1f
&& wrap(-2f, 0f, 4f) == 2f
&& wrap(-1f, 0f, 4f) == 3f
&& wrap( 0f, 0f, 4f) == 0f
&& wrap( 1f, 0f, 4f) == 1f
&& wrap( 2f, 0f, 4f) == 2f
&& wrap( 3f, 0f, 4f) == 3f
&& wrap( 4f, 0f, 4f) == 0f
&& wrap( 5f, 0f, 4f) == 1f
&& wrap( 6f, 0f, 4f) == 2f
&& wrap( 7f, 0f, 4f) == 3f
&& wrap( 8f, 0f, 4f) == 0f
);
//======================================================================================================================================================
RESULT("min(A,B)", true
&& min(-2f, 2f) == -2f
&& min(-1f, 1f) == -1f
&& min(-1f, -1f) == -1f
&& min( 0f, 0f) == 0f
&& min( 1f, 1f) == 1f
&& min( 1f, -1f) == -1f
&& min( 2f, -2f) == -2f
);
RESULT("min(A,B,C)", true
&& min(1f,2f,3f) == 1f
&& min(1f,3f,2f) == 1f
&& min(2f,1f,3f) == 1f
&& min(2f,3f,1f) == 1f
&& min(3f,1f,2f) == 1f
&& min(3f,2f,1f) == 1f
&& min(5f,5f,5f) == 5f
);
RESULT("min(A,B,C,D)", true
&& min(1f,2f,3f,4f) == 1f
&& min(1f,2f,4f,3f) == 1f
&& min(1f,3f,2f,4f) == 1f
&& min(1f,3f,4f,2f) == 1f
&& min(1f,4f,2f,3f) == 1f
&& min(1f,4f,3f,2f) == 1f
&& min(2f,1f,3f,4f) == 1f
&& min(2f,1f,4f,3f) == 1f
&& min(2f,3f,1f,4f) == 1f
&& min(2f,3f,4f,1f) == 1f
&& min(2f,4f,1f,3f) == 1f
&& min(2f,4f,3f,1f) == 1f
&& min(3f,2f,1f,4f) == 1f
&& min(3f,2f,4f,1f) == 1f
&& min(3f,1f,2f,4f) == 1f
&& min(3f,1f,4f,2f) == 1f
&& min(3f,4f,2f,1f) == 1f
&& min(3f,4f,1f,2f) == 1f
&& min(4f,2f,3f,1f) == 1f
&& min(4f,2f,1f,3f) == 1f
&& min(4f,3f,2f,1f) == 1f
&& min(4f,3f,1f,2f) == 1f
&& min(4f,1f,2f,3f) == 1f
&& min(4f,1f,3f,2f) == 1f
&& min(7f,7f,7f,7f) == 7f
);
RESULT("max(A,B)", true
&& max(-2f, 2f) == 2f
&& max(-1f, 1f) == 1f
&& max(-1f, -1f) == -1f
&& max( 0f, 0f) == 0f
&& max( 1f, 1f) == 1f
&& max( 1f, -1f) == 1f
&& max( 2f, -2f) == 2f
);
RESULT("max(A,B,C)", true
&& max(1f,2f,3f) == 3f
&& max(1f,3f,2f) == 3f
&& max(2f,1f,3f) == 3f
&& max(2f,3f,1f) == 3f
&& max(3f,1f,2f) == 3f
&& max(3f,2f,1f) == 3f
&& max(5f,5f,5f) == 5f
);
RESULT("max(A,B,C,D)", true
&& max(1f,2f,3f,4f) == 4f
&& max(1f,2f,4f,3f) == 4f
&& max(1f,3f,2f,4f) == 4f
&& max(1f,3f,4f,2f) == 4f
&& max(1f,4f,2f,3f) == 4f
&& max(1f,4f,3f,2f) == 4f
&& max(2f,1f,3f,4f) == 4f
&& max(2f,1f,4f,3f) == 4f
&& max(2f,3f,1f,4f) == 4f
&& max(2f,3f,4f,1f) == 4f
&& max(2f,4f,1f,3f) == 4f
&& max(2f,4f,3f,1f) == 4f
&& max(3f,2f,1f,4f) == 4f
&& max(3f,2f,4f,1f) == 4f
&& max(3f,1f,2f,4f) == 4f
&& max(3f,1f,4f,2f) == 4f
&& max(3f,4f,2f,1f) == 4f
&& max(3f,4f,1f,2f) == 4f
&& max(4f,2f,3f,1f) == 4f
&& max(4f,2f,1f,3f) == 4f
&& max(4f,3f,2f,1f) == 4f
&& max(4f,3f,1f,2f) == 4f
&& max(4f,1f,2f,3f) == 4f
&& max(4f,1f,3f,2f) == 4f
&& max(7f,7f,7f,7f) == 7f
);
//======================================================================================================================================================
RESULT("round(A, RoundTo)", true
&& round(-2.0f, 0.5f) == -2.0f
&& round(-1.9f, 0.5f) == -2.0f
&& round(-1.8f, 0.5f) == -2.0f
&& round(-1.7f, 0.5f) == -1.5f
&& round(-1.6f, 0.5f) == -1.5f
&& round(-1.5f, 0.5f) == -1.5f
&& round(-1.4f, 0.5f) == -1.5f
&& round(-1.3f, 0.5f) == -1.5f
&& round(-1.2f, 0.5f) == -1.0f
&& round(-1.1f, 0.5f) == -1.0f
&& round(-1.0f, 0.5f) == -1.0f
&& round(-0.9f, 0.5f) == -1.0f
&& round(-0.8f, 0.5f) == -1.0f
&& round(-0.7f, 0.5f) == -0.5f
&& round(-0.6f, 0.5f) == -0.5f
&& round(-0.5f, 0.5f) == -0.5f
&& round(-0.4f, 0.5f) == -0.5f
&& round(-0.3f, 0.5f) == -0.5f
&& round(-0.2f, 0.5f) == -0.0f
&& round(-0.1f, 0.5f) == -0.0f
&& round( 0.0f, 0.5f) == 0.0f
&& round( 0.1f, 0.5f) == 0.0f
&& round( 0.2f, 0.5f) == 0.0f
&& round( 0.3f, 0.5f) == 0.5f
&& round( 0.4f, 0.5f) == 0.5f
&& round( 0.5f, 0.5f) == 0.5f
&& round( 0.6f, 0.5f) == 0.5f
&& round( 0.7f, 0.5f) == 0.5f
&& round( 0.8f, 0.5f) == 1.0f
&& round( 0.9f, 0.5f) == 1.0f
&& round( 1.0f, 0.5f) == 1.0f
&& round( 1.1f, 0.5f) == 1.0f
&& round( 1.2f, 0.5f) == 1.0f
&& round( 1.3f, 0.5f) == 1.5f
&& round( 1.4f, 0.5f) == 1.5f
&& round( 1.5f, 0.5f) == 1.5f
&& round( 1.6f, 0.5f) == 1.5f
&& round( 1.7f, 0.5f) == 1.5f
&& round( 1.8f, 0.5f) == 2.0f
&& round( 1.9f, 0.5f) == 2.0f
&& round( 2.0f, 0.5f) == 2.0f
);
//======================================================================================================================================================
}
}