A game about forced loneliness, made by TACStudios
1//------------------------------------------------------------------------------
2// <auto-generated>
3// This code was generated by a tool.
4//
5// Changes to this file may cause incorrect behavior and will be lost if
6// the code is regenerated. To update the generation of this file, modify and re-run Unity.Mathematics.CodeGen.
7// </auto-generated>
8//------------------------------------------------------------------------------
9using System;
10using System.Runtime.CompilerServices;
11using System.Runtime.InteropServices;
12using System.Diagnostics;
13using Unity.IL2CPP.CompilerServices;
14
15#pragma warning disable 0660, 0661
16
17namespace Unity.Mathematics
18{
19 /// <summary>A 3 component vector of bools.</summary>
20 [DebuggerTypeProxy(typeof(bool3.DebuggerProxy))]
21 [System.Serializable]
22 [Il2CppEagerStaticClassConstruction]
23 public partial struct bool3 : System.IEquatable<bool3>
24 {
25 /// <summary>x component of the vector.</summary>
26 [MarshalAs(UnmanagedType.U1)]
27 public bool x;
28 /// <summary>y component of the vector.</summary>
29 [MarshalAs(UnmanagedType.U1)]
30 public bool y;
31 /// <summary>z component of the vector.</summary>
32 [MarshalAs(UnmanagedType.U1)]
33 public bool z;
34
35
36 /// <summary>Constructs a bool3 vector from three bool values.</summary>
37 /// <param name="x">The constructed vector's x component will be set to this value.</param>
38 /// <param name="y">The constructed vector's y component will be set to this value.</param>
39 /// <param name="z">The constructed vector's z component will be set to this value.</param>
40 [MethodImpl(MethodImplOptions.AggressiveInlining)]
41 public bool3(bool x, bool y, bool z)
42 {
43 this.x = x;
44 this.y = y;
45 this.z = z;
46 }
47
48 /// <summary>Constructs a bool3 vector from a bool value and a bool2 vector.</summary>
49 /// <param name="x">The constructed vector's x component will be set to this value.</param>
50 /// <param name="yz">The constructed vector's yz components will be set to this value.</param>
51 [MethodImpl(MethodImplOptions.AggressiveInlining)]
52 public bool3(bool x, bool2 yz)
53 {
54 this.x = x;
55 this.y = yz.x;
56 this.z = yz.y;
57 }
58
59 /// <summary>Constructs a bool3 vector from a bool2 vector and a bool value.</summary>
60 /// <param name="xy">The constructed vector's xy components will be set to this value.</param>
61 /// <param name="z">The constructed vector's z component will be set to this value.</param>
62 [MethodImpl(MethodImplOptions.AggressiveInlining)]
63 public bool3(bool2 xy, bool z)
64 {
65 this.x = xy.x;
66 this.y = xy.y;
67 this.z = z;
68 }
69
70 /// <summary>Constructs a bool3 vector from a bool3 vector.</summary>
71 /// <param name="xyz">The constructed vector's xyz components will be set to this value.</param>
72 [MethodImpl(MethodImplOptions.AggressiveInlining)]
73 public bool3(bool3 xyz)
74 {
75 this.x = xyz.x;
76 this.y = xyz.y;
77 this.z = xyz.z;
78 }
79
80 /// <summary>Constructs a bool3 vector from a single bool value by assigning it to every component.</summary>
81 /// <param name="v">bool to convert to bool3</param>
82 [MethodImpl(MethodImplOptions.AggressiveInlining)]
83 public bool3(bool v)
84 {
85 this.x = v;
86 this.y = v;
87 this.z = v;
88 }
89
90
91 /// <summary>Implicitly converts a single bool value to a bool3 vector by assigning it to every component.</summary>
92 /// <param name="v">bool to convert to bool3</param>
93 /// <returns>Converted value.</returns>
94 [MethodImpl(MethodImplOptions.AggressiveInlining)]
95 public static implicit operator bool3(bool v) { return new bool3(v); }
96
97
98 /// <summary>Returns the result of a componentwise equality operation on two bool3 vectors.</summary>
99 /// <param name="lhs">Left hand side bool3 to use to compute componentwise equality.</param>
100 /// <param name="rhs">Right hand side bool3 to use to compute componentwise equality.</param>
101 /// <returns>bool3 result of the componentwise equality.</returns>
102 [MethodImpl(MethodImplOptions.AggressiveInlining)]
103 public static bool3 operator == (bool3 lhs, bool3 rhs) { return new bool3 (lhs.x == rhs.x, lhs.y == rhs.y, lhs.z == rhs.z); }
104
105 /// <summary>Returns the result of a componentwise equality operation on a bool3 vector and a bool value.</summary>
106 /// <param name="lhs">Left hand side bool3 to use to compute componentwise equality.</param>
107 /// <param name="rhs">Right hand side bool to use to compute componentwise equality.</param>
108 /// <returns>bool3 result of the componentwise equality.</returns>
109 [MethodImpl(MethodImplOptions.AggressiveInlining)]
110 public static bool3 operator == (bool3 lhs, bool rhs) { return new bool3 (lhs.x == rhs, lhs.y == rhs, lhs.z == rhs); }
111
112 /// <summary>Returns the result of a componentwise equality operation on a bool value and a bool3 vector.</summary>
113 /// <param name="lhs">Left hand side bool to use to compute componentwise equality.</param>
114 /// <param name="rhs">Right hand side bool3 to use to compute componentwise equality.</param>
115 /// <returns>bool3 result of the componentwise equality.</returns>
116 [MethodImpl(MethodImplOptions.AggressiveInlining)]
117 public static bool3 operator == (bool lhs, bool3 rhs) { return new bool3 (lhs == rhs.x, lhs == rhs.y, lhs == rhs.z); }
118
119
120 /// <summary>Returns the result of a componentwise not equal operation on two bool3 vectors.</summary>
121 /// <param name="lhs">Left hand side bool3 to use to compute componentwise not equal.</param>
122 /// <param name="rhs">Right hand side bool3 to use to compute componentwise not equal.</param>
123 /// <returns>bool3 result of the componentwise not equal.</returns>
124 [MethodImpl(MethodImplOptions.AggressiveInlining)]
125 public static bool3 operator != (bool3 lhs, bool3 rhs) { return new bool3 (lhs.x != rhs.x, lhs.y != rhs.y, lhs.z != rhs.z); }
126
127 /// <summary>Returns the result of a componentwise not equal operation on a bool3 vector and a bool value.</summary>
128 /// <param name="lhs">Left hand side bool3 to use to compute componentwise not equal.</param>
129 /// <param name="rhs">Right hand side bool to use to compute componentwise not equal.</param>
130 /// <returns>bool3 result of the componentwise not equal.</returns>
131 [MethodImpl(MethodImplOptions.AggressiveInlining)]
132 public static bool3 operator != (bool3 lhs, bool rhs) { return new bool3 (lhs.x != rhs, lhs.y != rhs, lhs.z != rhs); }
133
134 /// <summary>Returns the result of a componentwise not equal operation on a bool value and a bool3 vector.</summary>
135 /// <param name="lhs">Left hand side bool to use to compute componentwise not equal.</param>
136 /// <param name="rhs">Right hand side bool3 to use to compute componentwise not equal.</param>
137 /// <returns>bool3 result of the componentwise not equal.</returns>
138 [MethodImpl(MethodImplOptions.AggressiveInlining)]
139 public static bool3 operator != (bool lhs, bool3 rhs) { return new bool3 (lhs != rhs.x, lhs != rhs.y, lhs != rhs.z); }
140
141
142 /// <summary>Returns the result of a componentwise not operation on a bool3 vector.</summary>
143 /// <param name="val">Value to use when computing the componentwise not.</param>
144 /// <returns>bool3 result of the componentwise not.</returns>
145 [MethodImpl(MethodImplOptions.AggressiveInlining)]
146 public static bool3 operator ! (bool3 val) { return new bool3 (!val.x, !val.y, !val.z); }
147
148
149 /// <summary>Returns the result of a componentwise bitwise and operation on two bool3 vectors.</summary>
150 /// <param name="lhs">Left hand side bool3 to use to compute componentwise bitwise and.</param>
151 /// <param name="rhs">Right hand side bool3 to use to compute componentwise bitwise and.</param>
152 /// <returns>bool3 result of the componentwise bitwise and.</returns>
153 [MethodImpl(MethodImplOptions.AggressiveInlining)]
154 public static bool3 operator & (bool3 lhs, bool3 rhs) { return new bool3 (lhs.x & rhs.x, lhs.y & rhs.y, lhs.z & rhs.z); }
155
156 /// <summary>Returns the result of a componentwise bitwise and operation on a bool3 vector and a bool value.</summary>
157 /// <param name="lhs">Left hand side bool3 to use to compute componentwise bitwise and.</param>
158 /// <param name="rhs">Right hand side bool to use to compute componentwise bitwise and.</param>
159 /// <returns>bool3 result of the componentwise bitwise and.</returns>
160 [MethodImpl(MethodImplOptions.AggressiveInlining)]
161 public static bool3 operator & (bool3 lhs, bool rhs) { return new bool3 (lhs.x & rhs, lhs.y & rhs, lhs.z & rhs); }
162
163 /// <summary>Returns the result of a componentwise bitwise and operation on a bool value and a bool3 vector.</summary>
164 /// <param name="lhs">Left hand side bool to use to compute componentwise bitwise and.</param>
165 /// <param name="rhs">Right hand side bool3 to use to compute componentwise bitwise and.</param>
166 /// <returns>bool3 result of the componentwise bitwise and.</returns>
167 [MethodImpl(MethodImplOptions.AggressiveInlining)]
168 public static bool3 operator & (bool lhs, bool3 rhs) { return new bool3 (lhs & rhs.x, lhs & rhs.y, lhs & rhs.z); }
169
170
171 /// <summary>Returns the result of a componentwise bitwise or operation on two bool3 vectors.</summary>
172 /// <param name="lhs">Left hand side bool3 to use to compute componentwise bitwise or.</param>
173 /// <param name="rhs">Right hand side bool3 to use to compute componentwise bitwise or.</param>
174 /// <returns>bool3 result of the componentwise bitwise or.</returns>
175 [MethodImpl(MethodImplOptions.AggressiveInlining)]
176 public static bool3 operator | (bool3 lhs, bool3 rhs) { return new bool3 (lhs.x | rhs.x, lhs.y | rhs.y, lhs.z | rhs.z); }
177
178 /// <summary>Returns the result of a componentwise bitwise or operation on a bool3 vector and a bool value.</summary>
179 /// <param name="lhs">Left hand side bool3 to use to compute componentwise bitwise or.</param>
180 /// <param name="rhs">Right hand side bool to use to compute componentwise bitwise or.</param>
181 /// <returns>bool3 result of the componentwise bitwise or.</returns>
182 [MethodImpl(MethodImplOptions.AggressiveInlining)]
183 public static bool3 operator | (bool3 lhs, bool rhs) { return new bool3 (lhs.x | rhs, lhs.y | rhs, lhs.z | rhs); }
184
185 /// <summary>Returns the result of a componentwise bitwise or operation on a bool value and a bool3 vector.</summary>
186 /// <param name="lhs">Left hand side bool to use to compute componentwise bitwise or.</param>
187 /// <param name="rhs">Right hand side bool3 to use to compute componentwise bitwise or.</param>
188 /// <returns>bool3 result of the componentwise bitwise or.</returns>
189 [MethodImpl(MethodImplOptions.AggressiveInlining)]
190 public static bool3 operator | (bool lhs, bool3 rhs) { return new bool3 (lhs | rhs.x, lhs | rhs.y, lhs | rhs.z); }
191
192
193 /// <summary>Returns the result of a componentwise bitwise exclusive or operation on two bool3 vectors.</summary>
194 /// <param name="lhs">Left hand side bool3 to use to compute componentwise bitwise exclusive or.</param>
195 /// <param name="rhs">Right hand side bool3 to use to compute componentwise bitwise exclusive or.</param>
196 /// <returns>bool3 result of the componentwise bitwise exclusive or.</returns>
197 [MethodImpl(MethodImplOptions.AggressiveInlining)]
198 public static bool3 operator ^ (bool3 lhs, bool3 rhs) { return new bool3 (lhs.x ^ rhs.x, lhs.y ^ rhs.y, lhs.z ^ rhs.z); }
199
200 /// <summary>Returns the result of a componentwise bitwise exclusive or operation on a bool3 vector and a bool value.</summary>
201 /// <param name="lhs">Left hand side bool3 to use to compute componentwise bitwise exclusive or.</param>
202 /// <param name="rhs">Right hand side bool to use to compute componentwise bitwise exclusive or.</param>
203 /// <returns>bool3 result of the componentwise bitwise exclusive or.</returns>
204 [MethodImpl(MethodImplOptions.AggressiveInlining)]
205 public static bool3 operator ^ (bool3 lhs, bool rhs) { return new bool3 (lhs.x ^ rhs, lhs.y ^ rhs, lhs.z ^ rhs); }
206
207 /// <summary>Returns the result of a componentwise bitwise exclusive or operation on a bool value and a bool3 vector.</summary>
208 /// <param name="lhs">Left hand side bool to use to compute componentwise bitwise exclusive or.</param>
209 /// <param name="rhs">Right hand side bool3 to use to compute componentwise bitwise exclusive or.</param>
210 /// <returns>bool3 result of the componentwise bitwise exclusive or.</returns>
211 [MethodImpl(MethodImplOptions.AggressiveInlining)]
212 public static bool3 operator ^ (bool lhs, bool3 rhs) { return new bool3 (lhs ^ rhs.x, lhs ^ rhs.y, lhs ^ rhs.z); }
213
214
215
216
217 /// <summary>Swizzles the vector.</summary>
218 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
219 public bool4 xxxx
220 {
221 [MethodImpl(MethodImplOptions.AggressiveInlining)]
222 get { return new bool4(x, x, x, x); }
223 }
224
225
226 /// <summary>Swizzles the vector.</summary>
227 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
228 public bool4 xxxy
229 {
230 [MethodImpl(MethodImplOptions.AggressiveInlining)]
231 get { return new bool4(x, x, x, y); }
232 }
233
234
235 /// <summary>Swizzles the vector.</summary>
236 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
237 public bool4 xxxz
238 {
239 [MethodImpl(MethodImplOptions.AggressiveInlining)]
240 get { return new bool4(x, x, x, z); }
241 }
242
243
244 /// <summary>Swizzles the vector.</summary>
245 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
246 public bool4 xxyx
247 {
248 [MethodImpl(MethodImplOptions.AggressiveInlining)]
249 get { return new bool4(x, x, y, x); }
250 }
251
252
253 /// <summary>Swizzles the vector.</summary>
254 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
255 public bool4 xxyy
256 {
257 [MethodImpl(MethodImplOptions.AggressiveInlining)]
258 get { return new bool4(x, x, y, y); }
259 }
260
261
262 /// <summary>Swizzles the vector.</summary>
263 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
264 public bool4 xxyz
265 {
266 [MethodImpl(MethodImplOptions.AggressiveInlining)]
267 get { return new bool4(x, x, y, z); }
268 }
269
270
271 /// <summary>Swizzles the vector.</summary>
272 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
273 public bool4 xxzx
274 {
275 [MethodImpl(MethodImplOptions.AggressiveInlining)]
276 get { return new bool4(x, x, z, x); }
277 }
278
279
280 /// <summary>Swizzles the vector.</summary>
281 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
282 public bool4 xxzy
283 {
284 [MethodImpl(MethodImplOptions.AggressiveInlining)]
285 get { return new bool4(x, x, z, y); }
286 }
287
288
289 /// <summary>Swizzles the vector.</summary>
290 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
291 public bool4 xxzz
292 {
293 [MethodImpl(MethodImplOptions.AggressiveInlining)]
294 get { return new bool4(x, x, z, z); }
295 }
296
297
298 /// <summary>Swizzles the vector.</summary>
299 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
300 public bool4 xyxx
301 {
302 [MethodImpl(MethodImplOptions.AggressiveInlining)]
303 get { return new bool4(x, y, x, x); }
304 }
305
306
307 /// <summary>Swizzles the vector.</summary>
308 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
309 public bool4 xyxy
310 {
311 [MethodImpl(MethodImplOptions.AggressiveInlining)]
312 get { return new bool4(x, y, x, y); }
313 }
314
315
316 /// <summary>Swizzles the vector.</summary>
317 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
318 public bool4 xyxz
319 {
320 [MethodImpl(MethodImplOptions.AggressiveInlining)]
321 get { return new bool4(x, y, x, z); }
322 }
323
324
325 /// <summary>Swizzles the vector.</summary>
326 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
327 public bool4 xyyx
328 {
329 [MethodImpl(MethodImplOptions.AggressiveInlining)]
330 get { return new bool4(x, y, y, x); }
331 }
332
333
334 /// <summary>Swizzles the vector.</summary>
335 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
336 public bool4 xyyy
337 {
338 [MethodImpl(MethodImplOptions.AggressiveInlining)]
339 get { return new bool4(x, y, y, y); }
340 }
341
342
343 /// <summary>Swizzles the vector.</summary>
344 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
345 public bool4 xyyz
346 {
347 [MethodImpl(MethodImplOptions.AggressiveInlining)]
348 get { return new bool4(x, y, y, z); }
349 }
350
351
352 /// <summary>Swizzles the vector.</summary>
353 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
354 public bool4 xyzx
355 {
356 [MethodImpl(MethodImplOptions.AggressiveInlining)]
357 get { return new bool4(x, y, z, x); }
358 }
359
360
361 /// <summary>Swizzles the vector.</summary>
362 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
363 public bool4 xyzy
364 {
365 [MethodImpl(MethodImplOptions.AggressiveInlining)]
366 get { return new bool4(x, y, z, y); }
367 }
368
369
370 /// <summary>Swizzles the vector.</summary>
371 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
372 public bool4 xyzz
373 {
374 [MethodImpl(MethodImplOptions.AggressiveInlining)]
375 get { return new bool4(x, y, z, z); }
376 }
377
378
379 /// <summary>Swizzles the vector.</summary>
380 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
381 public bool4 xzxx
382 {
383 [MethodImpl(MethodImplOptions.AggressiveInlining)]
384 get { return new bool4(x, z, x, x); }
385 }
386
387
388 /// <summary>Swizzles the vector.</summary>
389 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
390 public bool4 xzxy
391 {
392 [MethodImpl(MethodImplOptions.AggressiveInlining)]
393 get { return new bool4(x, z, x, y); }
394 }
395
396
397 /// <summary>Swizzles the vector.</summary>
398 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
399 public bool4 xzxz
400 {
401 [MethodImpl(MethodImplOptions.AggressiveInlining)]
402 get { return new bool4(x, z, x, z); }
403 }
404
405
406 /// <summary>Swizzles the vector.</summary>
407 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
408 public bool4 xzyx
409 {
410 [MethodImpl(MethodImplOptions.AggressiveInlining)]
411 get { return new bool4(x, z, y, x); }
412 }
413
414
415 /// <summary>Swizzles the vector.</summary>
416 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
417 public bool4 xzyy
418 {
419 [MethodImpl(MethodImplOptions.AggressiveInlining)]
420 get { return new bool4(x, z, y, y); }
421 }
422
423
424 /// <summary>Swizzles the vector.</summary>
425 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
426 public bool4 xzyz
427 {
428 [MethodImpl(MethodImplOptions.AggressiveInlining)]
429 get { return new bool4(x, z, y, z); }
430 }
431
432
433 /// <summary>Swizzles the vector.</summary>
434 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
435 public bool4 xzzx
436 {
437 [MethodImpl(MethodImplOptions.AggressiveInlining)]
438 get { return new bool4(x, z, z, x); }
439 }
440
441
442 /// <summary>Swizzles the vector.</summary>
443 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
444 public bool4 xzzy
445 {
446 [MethodImpl(MethodImplOptions.AggressiveInlining)]
447 get { return new bool4(x, z, z, y); }
448 }
449
450
451 /// <summary>Swizzles the vector.</summary>
452 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
453 public bool4 xzzz
454 {
455 [MethodImpl(MethodImplOptions.AggressiveInlining)]
456 get { return new bool4(x, z, z, z); }
457 }
458
459
460 /// <summary>Swizzles the vector.</summary>
461 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
462 public bool4 yxxx
463 {
464 [MethodImpl(MethodImplOptions.AggressiveInlining)]
465 get { return new bool4(y, x, x, x); }
466 }
467
468
469 /// <summary>Swizzles the vector.</summary>
470 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
471 public bool4 yxxy
472 {
473 [MethodImpl(MethodImplOptions.AggressiveInlining)]
474 get { return new bool4(y, x, x, y); }
475 }
476
477
478 /// <summary>Swizzles the vector.</summary>
479 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
480 public bool4 yxxz
481 {
482 [MethodImpl(MethodImplOptions.AggressiveInlining)]
483 get { return new bool4(y, x, x, z); }
484 }
485
486
487 /// <summary>Swizzles the vector.</summary>
488 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
489 public bool4 yxyx
490 {
491 [MethodImpl(MethodImplOptions.AggressiveInlining)]
492 get { return new bool4(y, x, y, x); }
493 }
494
495
496 /// <summary>Swizzles the vector.</summary>
497 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
498 public bool4 yxyy
499 {
500 [MethodImpl(MethodImplOptions.AggressiveInlining)]
501 get { return new bool4(y, x, y, y); }
502 }
503
504
505 /// <summary>Swizzles the vector.</summary>
506 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
507 public bool4 yxyz
508 {
509 [MethodImpl(MethodImplOptions.AggressiveInlining)]
510 get { return new bool4(y, x, y, z); }
511 }
512
513
514 /// <summary>Swizzles the vector.</summary>
515 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
516 public bool4 yxzx
517 {
518 [MethodImpl(MethodImplOptions.AggressiveInlining)]
519 get { return new bool4(y, x, z, x); }
520 }
521
522
523 /// <summary>Swizzles the vector.</summary>
524 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
525 public bool4 yxzy
526 {
527 [MethodImpl(MethodImplOptions.AggressiveInlining)]
528 get { return new bool4(y, x, z, y); }
529 }
530
531
532 /// <summary>Swizzles the vector.</summary>
533 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
534 public bool4 yxzz
535 {
536 [MethodImpl(MethodImplOptions.AggressiveInlining)]
537 get { return new bool4(y, x, z, z); }
538 }
539
540
541 /// <summary>Swizzles the vector.</summary>
542 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
543 public bool4 yyxx
544 {
545 [MethodImpl(MethodImplOptions.AggressiveInlining)]
546 get { return new bool4(y, y, x, x); }
547 }
548
549
550 /// <summary>Swizzles the vector.</summary>
551 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
552 public bool4 yyxy
553 {
554 [MethodImpl(MethodImplOptions.AggressiveInlining)]
555 get { return new bool4(y, y, x, y); }
556 }
557
558
559 /// <summary>Swizzles the vector.</summary>
560 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
561 public bool4 yyxz
562 {
563 [MethodImpl(MethodImplOptions.AggressiveInlining)]
564 get { return new bool4(y, y, x, z); }
565 }
566
567
568 /// <summary>Swizzles the vector.</summary>
569 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
570 public bool4 yyyx
571 {
572 [MethodImpl(MethodImplOptions.AggressiveInlining)]
573 get { return new bool4(y, y, y, x); }
574 }
575
576
577 /// <summary>Swizzles the vector.</summary>
578 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
579 public bool4 yyyy
580 {
581 [MethodImpl(MethodImplOptions.AggressiveInlining)]
582 get { return new bool4(y, y, y, y); }
583 }
584
585
586 /// <summary>Swizzles the vector.</summary>
587 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
588 public bool4 yyyz
589 {
590 [MethodImpl(MethodImplOptions.AggressiveInlining)]
591 get { return new bool4(y, y, y, z); }
592 }
593
594
595 /// <summary>Swizzles the vector.</summary>
596 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
597 public bool4 yyzx
598 {
599 [MethodImpl(MethodImplOptions.AggressiveInlining)]
600 get { return new bool4(y, y, z, x); }
601 }
602
603
604 /// <summary>Swizzles the vector.</summary>
605 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
606 public bool4 yyzy
607 {
608 [MethodImpl(MethodImplOptions.AggressiveInlining)]
609 get { return new bool4(y, y, z, y); }
610 }
611
612
613 /// <summary>Swizzles the vector.</summary>
614 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
615 public bool4 yyzz
616 {
617 [MethodImpl(MethodImplOptions.AggressiveInlining)]
618 get { return new bool4(y, y, z, z); }
619 }
620
621
622 /// <summary>Swizzles the vector.</summary>
623 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
624 public bool4 yzxx
625 {
626 [MethodImpl(MethodImplOptions.AggressiveInlining)]
627 get { return new bool4(y, z, x, x); }
628 }
629
630
631 /// <summary>Swizzles the vector.</summary>
632 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
633 public bool4 yzxy
634 {
635 [MethodImpl(MethodImplOptions.AggressiveInlining)]
636 get { return new bool4(y, z, x, y); }
637 }
638
639
640 /// <summary>Swizzles the vector.</summary>
641 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
642 public bool4 yzxz
643 {
644 [MethodImpl(MethodImplOptions.AggressiveInlining)]
645 get { return new bool4(y, z, x, z); }
646 }
647
648
649 /// <summary>Swizzles the vector.</summary>
650 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
651 public bool4 yzyx
652 {
653 [MethodImpl(MethodImplOptions.AggressiveInlining)]
654 get { return new bool4(y, z, y, x); }
655 }
656
657
658 /// <summary>Swizzles the vector.</summary>
659 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
660 public bool4 yzyy
661 {
662 [MethodImpl(MethodImplOptions.AggressiveInlining)]
663 get { return new bool4(y, z, y, y); }
664 }
665
666
667 /// <summary>Swizzles the vector.</summary>
668 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
669 public bool4 yzyz
670 {
671 [MethodImpl(MethodImplOptions.AggressiveInlining)]
672 get { return new bool4(y, z, y, z); }
673 }
674
675
676 /// <summary>Swizzles the vector.</summary>
677 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
678 public bool4 yzzx
679 {
680 [MethodImpl(MethodImplOptions.AggressiveInlining)]
681 get { return new bool4(y, z, z, x); }
682 }
683
684
685 /// <summary>Swizzles the vector.</summary>
686 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
687 public bool4 yzzy
688 {
689 [MethodImpl(MethodImplOptions.AggressiveInlining)]
690 get { return new bool4(y, z, z, y); }
691 }
692
693
694 /// <summary>Swizzles the vector.</summary>
695 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
696 public bool4 yzzz
697 {
698 [MethodImpl(MethodImplOptions.AggressiveInlining)]
699 get { return new bool4(y, z, z, z); }
700 }
701
702
703 /// <summary>Swizzles the vector.</summary>
704 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
705 public bool4 zxxx
706 {
707 [MethodImpl(MethodImplOptions.AggressiveInlining)]
708 get { return new bool4(z, x, x, x); }
709 }
710
711
712 /// <summary>Swizzles the vector.</summary>
713 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
714 public bool4 zxxy
715 {
716 [MethodImpl(MethodImplOptions.AggressiveInlining)]
717 get { return new bool4(z, x, x, y); }
718 }
719
720
721 /// <summary>Swizzles the vector.</summary>
722 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
723 public bool4 zxxz
724 {
725 [MethodImpl(MethodImplOptions.AggressiveInlining)]
726 get { return new bool4(z, x, x, z); }
727 }
728
729
730 /// <summary>Swizzles the vector.</summary>
731 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
732 public bool4 zxyx
733 {
734 [MethodImpl(MethodImplOptions.AggressiveInlining)]
735 get { return new bool4(z, x, y, x); }
736 }
737
738
739 /// <summary>Swizzles the vector.</summary>
740 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
741 public bool4 zxyy
742 {
743 [MethodImpl(MethodImplOptions.AggressiveInlining)]
744 get { return new bool4(z, x, y, y); }
745 }
746
747
748 /// <summary>Swizzles the vector.</summary>
749 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
750 public bool4 zxyz
751 {
752 [MethodImpl(MethodImplOptions.AggressiveInlining)]
753 get { return new bool4(z, x, y, z); }
754 }
755
756
757 /// <summary>Swizzles the vector.</summary>
758 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
759 public bool4 zxzx
760 {
761 [MethodImpl(MethodImplOptions.AggressiveInlining)]
762 get { return new bool4(z, x, z, x); }
763 }
764
765
766 /// <summary>Swizzles the vector.</summary>
767 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
768 public bool4 zxzy
769 {
770 [MethodImpl(MethodImplOptions.AggressiveInlining)]
771 get { return new bool4(z, x, z, y); }
772 }
773
774
775 /// <summary>Swizzles the vector.</summary>
776 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
777 public bool4 zxzz
778 {
779 [MethodImpl(MethodImplOptions.AggressiveInlining)]
780 get { return new bool4(z, x, z, z); }
781 }
782
783
784 /// <summary>Swizzles the vector.</summary>
785 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
786 public bool4 zyxx
787 {
788 [MethodImpl(MethodImplOptions.AggressiveInlining)]
789 get { return new bool4(z, y, x, x); }
790 }
791
792
793 /// <summary>Swizzles the vector.</summary>
794 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
795 public bool4 zyxy
796 {
797 [MethodImpl(MethodImplOptions.AggressiveInlining)]
798 get { return new bool4(z, y, x, y); }
799 }
800
801
802 /// <summary>Swizzles the vector.</summary>
803 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
804 public bool4 zyxz
805 {
806 [MethodImpl(MethodImplOptions.AggressiveInlining)]
807 get { return new bool4(z, y, x, z); }
808 }
809
810
811 /// <summary>Swizzles the vector.</summary>
812 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
813 public bool4 zyyx
814 {
815 [MethodImpl(MethodImplOptions.AggressiveInlining)]
816 get { return new bool4(z, y, y, x); }
817 }
818
819
820 /// <summary>Swizzles the vector.</summary>
821 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
822 public bool4 zyyy
823 {
824 [MethodImpl(MethodImplOptions.AggressiveInlining)]
825 get { return new bool4(z, y, y, y); }
826 }
827
828
829 /// <summary>Swizzles the vector.</summary>
830 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
831 public bool4 zyyz
832 {
833 [MethodImpl(MethodImplOptions.AggressiveInlining)]
834 get { return new bool4(z, y, y, z); }
835 }
836
837
838 /// <summary>Swizzles the vector.</summary>
839 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
840 public bool4 zyzx
841 {
842 [MethodImpl(MethodImplOptions.AggressiveInlining)]
843 get { return new bool4(z, y, z, x); }
844 }
845
846
847 /// <summary>Swizzles the vector.</summary>
848 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
849 public bool4 zyzy
850 {
851 [MethodImpl(MethodImplOptions.AggressiveInlining)]
852 get { return new bool4(z, y, z, y); }
853 }
854
855
856 /// <summary>Swizzles the vector.</summary>
857 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
858 public bool4 zyzz
859 {
860 [MethodImpl(MethodImplOptions.AggressiveInlining)]
861 get { return new bool4(z, y, z, z); }
862 }
863
864
865 /// <summary>Swizzles the vector.</summary>
866 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
867 public bool4 zzxx
868 {
869 [MethodImpl(MethodImplOptions.AggressiveInlining)]
870 get { return new bool4(z, z, x, x); }
871 }
872
873
874 /// <summary>Swizzles the vector.</summary>
875 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
876 public bool4 zzxy
877 {
878 [MethodImpl(MethodImplOptions.AggressiveInlining)]
879 get { return new bool4(z, z, x, y); }
880 }
881
882
883 /// <summary>Swizzles the vector.</summary>
884 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
885 public bool4 zzxz
886 {
887 [MethodImpl(MethodImplOptions.AggressiveInlining)]
888 get { return new bool4(z, z, x, z); }
889 }
890
891
892 /// <summary>Swizzles the vector.</summary>
893 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
894 public bool4 zzyx
895 {
896 [MethodImpl(MethodImplOptions.AggressiveInlining)]
897 get { return new bool4(z, z, y, x); }
898 }
899
900
901 /// <summary>Swizzles the vector.</summary>
902 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
903 public bool4 zzyy
904 {
905 [MethodImpl(MethodImplOptions.AggressiveInlining)]
906 get { return new bool4(z, z, y, y); }
907 }
908
909
910 /// <summary>Swizzles the vector.</summary>
911 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
912 public bool4 zzyz
913 {
914 [MethodImpl(MethodImplOptions.AggressiveInlining)]
915 get { return new bool4(z, z, y, z); }
916 }
917
918
919 /// <summary>Swizzles the vector.</summary>
920 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
921 public bool4 zzzx
922 {
923 [MethodImpl(MethodImplOptions.AggressiveInlining)]
924 get { return new bool4(z, z, z, x); }
925 }
926
927
928 /// <summary>Swizzles the vector.</summary>
929 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
930 public bool4 zzzy
931 {
932 [MethodImpl(MethodImplOptions.AggressiveInlining)]
933 get { return new bool4(z, z, z, y); }
934 }
935
936
937 /// <summary>Swizzles the vector.</summary>
938 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
939 public bool4 zzzz
940 {
941 [MethodImpl(MethodImplOptions.AggressiveInlining)]
942 get { return new bool4(z, z, z, z); }
943 }
944
945
946 /// <summary>Swizzles the vector.</summary>
947 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
948 public bool3 xxx
949 {
950 [MethodImpl(MethodImplOptions.AggressiveInlining)]
951 get { return new bool3(x, x, x); }
952 }
953
954
955 /// <summary>Swizzles the vector.</summary>
956 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
957 public bool3 xxy
958 {
959 [MethodImpl(MethodImplOptions.AggressiveInlining)]
960 get { return new bool3(x, x, y); }
961 }
962
963
964 /// <summary>Swizzles the vector.</summary>
965 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
966 public bool3 xxz
967 {
968 [MethodImpl(MethodImplOptions.AggressiveInlining)]
969 get { return new bool3(x, x, z); }
970 }
971
972
973 /// <summary>Swizzles the vector.</summary>
974 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
975 public bool3 xyx
976 {
977 [MethodImpl(MethodImplOptions.AggressiveInlining)]
978 get { return new bool3(x, y, x); }
979 }
980
981
982 /// <summary>Swizzles the vector.</summary>
983 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
984 public bool3 xyy
985 {
986 [MethodImpl(MethodImplOptions.AggressiveInlining)]
987 get { return new bool3(x, y, y); }
988 }
989
990
991 /// <summary>Swizzles the vector.</summary>
992 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
993 public bool3 xyz
994 {
995 [MethodImpl(MethodImplOptions.AggressiveInlining)]
996 get { return new bool3(x, y, z); }
997 [MethodImpl(MethodImplOptions.AggressiveInlining)]
998 set { x = value.x; y = value.y; z = value.z; }
999 }
1000
1001
1002 /// <summary>Swizzles the vector.</summary>
1003 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1004 public bool3 xzx
1005 {
1006 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1007 get { return new bool3(x, z, x); }
1008 }
1009
1010
1011 /// <summary>Swizzles the vector.</summary>
1012 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1013 public bool3 xzy
1014 {
1015 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1016 get { return new bool3(x, z, y); }
1017 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1018 set { x = value.x; z = value.y; y = value.z; }
1019 }
1020
1021
1022 /// <summary>Swizzles the vector.</summary>
1023 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1024 public bool3 xzz
1025 {
1026 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1027 get { return new bool3(x, z, z); }
1028 }
1029
1030
1031 /// <summary>Swizzles the vector.</summary>
1032 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1033 public bool3 yxx
1034 {
1035 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1036 get { return new bool3(y, x, x); }
1037 }
1038
1039
1040 /// <summary>Swizzles the vector.</summary>
1041 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1042 public bool3 yxy
1043 {
1044 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1045 get { return new bool3(y, x, y); }
1046 }
1047
1048
1049 /// <summary>Swizzles the vector.</summary>
1050 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1051 public bool3 yxz
1052 {
1053 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1054 get { return new bool3(y, x, z); }
1055 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1056 set { y = value.x; x = value.y; z = value.z; }
1057 }
1058
1059
1060 /// <summary>Swizzles the vector.</summary>
1061 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1062 public bool3 yyx
1063 {
1064 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1065 get { return new bool3(y, y, x); }
1066 }
1067
1068
1069 /// <summary>Swizzles the vector.</summary>
1070 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1071 public bool3 yyy
1072 {
1073 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1074 get { return new bool3(y, y, y); }
1075 }
1076
1077
1078 /// <summary>Swizzles the vector.</summary>
1079 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1080 public bool3 yyz
1081 {
1082 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1083 get { return new bool3(y, y, z); }
1084 }
1085
1086
1087 /// <summary>Swizzles the vector.</summary>
1088 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1089 public bool3 yzx
1090 {
1091 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1092 get { return new bool3(y, z, x); }
1093 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1094 set { y = value.x; z = value.y; x = value.z; }
1095 }
1096
1097
1098 /// <summary>Swizzles the vector.</summary>
1099 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1100 public bool3 yzy
1101 {
1102 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1103 get { return new bool3(y, z, y); }
1104 }
1105
1106
1107 /// <summary>Swizzles the vector.</summary>
1108 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1109 public bool3 yzz
1110 {
1111 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1112 get { return new bool3(y, z, z); }
1113 }
1114
1115
1116 /// <summary>Swizzles the vector.</summary>
1117 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1118 public bool3 zxx
1119 {
1120 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1121 get { return new bool3(z, x, x); }
1122 }
1123
1124
1125 /// <summary>Swizzles the vector.</summary>
1126 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1127 public bool3 zxy
1128 {
1129 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1130 get { return new bool3(z, x, y); }
1131 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1132 set { z = value.x; x = value.y; y = value.z; }
1133 }
1134
1135
1136 /// <summary>Swizzles the vector.</summary>
1137 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1138 public bool3 zxz
1139 {
1140 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1141 get { return new bool3(z, x, z); }
1142 }
1143
1144
1145 /// <summary>Swizzles the vector.</summary>
1146 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1147 public bool3 zyx
1148 {
1149 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1150 get { return new bool3(z, y, x); }
1151 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1152 set { z = value.x; y = value.y; x = value.z; }
1153 }
1154
1155
1156 /// <summary>Swizzles the vector.</summary>
1157 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1158 public bool3 zyy
1159 {
1160 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1161 get { return new bool3(z, y, y); }
1162 }
1163
1164
1165 /// <summary>Swizzles the vector.</summary>
1166 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1167 public bool3 zyz
1168 {
1169 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1170 get { return new bool3(z, y, z); }
1171 }
1172
1173
1174 /// <summary>Swizzles the vector.</summary>
1175 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1176 public bool3 zzx
1177 {
1178 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1179 get { return new bool3(z, z, x); }
1180 }
1181
1182
1183 /// <summary>Swizzles the vector.</summary>
1184 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1185 public bool3 zzy
1186 {
1187 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1188 get { return new bool3(z, z, y); }
1189 }
1190
1191
1192 /// <summary>Swizzles the vector.</summary>
1193 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1194 public bool3 zzz
1195 {
1196 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1197 get { return new bool3(z, z, z); }
1198 }
1199
1200
1201 /// <summary>Swizzles the vector.</summary>
1202 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1203 public bool2 xx
1204 {
1205 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1206 get { return new bool2(x, x); }
1207 }
1208
1209
1210 /// <summary>Swizzles the vector.</summary>
1211 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1212 public bool2 xy
1213 {
1214 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1215 get { return new bool2(x, y); }
1216 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1217 set { x = value.x; y = value.y; }
1218 }
1219
1220
1221 /// <summary>Swizzles the vector.</summary>
1222 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1223 public bool2 xz
1224 {
1225 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1226 get { return new bool2(x, z); }
1227 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1228 set { x = value.x; z = value.y; }
1229 }
1230
1231
1232 /// <summary>Swizzles the vector.</summary>
1233 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1234 public bool2 yx
1235 {
1236 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1237 get { return new bool2(y, x); }
1238 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1239 set { y = value.x; x = value.y; }
1240 }
1241
1242
1243 /// <summary>Swizzles the vector.</summary>
1244 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1245 public bool2 yy
1246 {
1247 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1248 get { return new bool2(y, y); }
1249 }
1250
1251
1252 /// <summary>Swizzles the vector.</summary>
1253 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1254 public bool2 yz
1255 {
1256 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1257 get { return new bool2(y, z); }
1258 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1259 set { y = value.x; z = value.y; }
1260 }
1261
1262
1263 /// <summary>Swizzles the vector.</summary>
1264 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1265 public bool2 zx
1266 {
1267 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1268 get { return new bool2(z, x); }
1269 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1270 set { z = value.x; x = value.y; }
1271 }
1272
1273
1274 /// <summary>Swizzles the vector.</summary>
1275 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1276 public bool2 zy
1277 {
1278 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1279 get { return new bool2(z, y); }
1280 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1281 set { z = value.x; y = value.y; }
1282 }
1283
1284
1285 /// <summary>Swizzles the vector.</summary>
1286 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1287 public bool2 zz
1288 {
1289 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1290 get { return new bool2(z, z); }
1291 }
1292
1293
1294
1295 /// <summary>Returns the bool element at a specified index.</summary>
1296 unsafe public bool this[int index]
1297 {
1298 get
1299 {
1300#if ENABLE_UNITY_COLLECTIONS_CHECKS
1301 if ((uint)index >= 3)
1302 throw new System.ArgumentException("index must be between[0...2]");
1303#endif
1304 fixed (bool3* array = &this) { return ((bool*)array)[index]; }
1305 }
1306 set
1307 {
1308#if ENABLE_UNITY_COLLECTIONS_CHECKS
1309 if ((uint)index >= 3)
1310 throw new System.ArgumentException("index must be between[0...2]");
1311#endif
1312 fixed (bool* array = &x) { array[index] = value; }
1313 }
1314 }
1315
1316 /// <summary>Returns true if the bool3 is equal to a given bool3, false otherwise.</summary>
1317 /// <param name="rhs">Right hand side argument to compare equality with.</param>
1318 /// <returns>The result of the equality comparison.</returns>
1319 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1320 public bool Equals(bool3 rhs) { return x == rhs.x && y == rhs.y && z == rhs.z; }
1321
1322 /// <summary>Returns true if the bool3 is equal to a given bool3, false otherwise.</summary>
1323 /// <param name="o">Right hand side argument to compare equality with.</param>
1324 /// <returns>The result of the equality comparison.</returns>
1325 public override bool Equals(object o) { return o is bool3 converted && Equals(converted); }
1326
1327
1328 /// <summary>Returns a hash code for the bool3.</summary>
1329 /// <returns>The computed hash code.</returns>
1330 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1331 public override int GetHashCode() { return (int)math.hash(this); }
1332
1333
1334 /// <summary>Returns a string representation of the bool3.</summary>
1335 /// <returns>String representation of the value.</returns>
1336 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1337 public override string ToString()
1338 {
1339 return string.Format("bool3({0}, {1}, {2})", x, y, z);
1340 }
1341
1342 internal sealed class DebuggerProxy
1343 {
1344 public bool x;
1345 public bool y;
1346 public bool z;
1347 public DebuggerProxy(bool3 v)
1348 {
1349 x = v.x;
1350 y = v.y;
1351 z = v.z;
1352 }
1353 }
1354
1355 }
1356
1357 public static partial class math
1358 {
1359 /// <summary>Returns a bool3 vector constructed from three bool values.</summary>
1360 /// <param name="x">The constructed vector's x component will be set to this value.</param>
1361 /// <param name="y">The constructed vector's y component will be set to this value.</param>
1362 /// <param name="z">The constructed vector's z component will be set to this value.</param>
1363 /// <returns>bool3 constructed from arguments.</returns>
1364 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1365 public static bool3 bool3(bool x, bool y, bool z) { return new bool3(x, y, z); }
1366
1367 /// <summary>Returns a bool3 vector constructed from a bool value and a bool2 vector.</summary>
1368 /// <param name="x">The constructed vector's x component will be set to this value.</param>
1369 /// <param name="yz">The constructed vector's yz components will be set to this value.</param>
1370 /// <returns>bool3 constructed from arguments.</returns>
1371 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1372 public static bool3 bool3(bool x, bool2 yz) { return new bool3(x, yz); }
1373
1374 /// <summary>Returns a bool3 vector constructed from a bool2 vector and a bool value.</summary>
1375 /// <param name="xy">The constructed vector's xy components will be set to this value.</param>
1376 /// <param name="z">The constructed vector's z component will be set to this value.</param>
1377 /// <returns>bool3 constructed from arguments.</returns>
1378 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1379 public static bool3 bool3(bool2 xy, bool z) { return new bool3(xy, z); }
1380
1381 /// <summary>Returns a bool3 vector constructed from a bool3 vector.</summary>
1382 /// <param name="xyz">The constructed vector's xyz components will be set to this value.</param>
1383 /// <returns>bool3 constructed from arguments.</returns>
1384 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1385 public static bool3 bool3(bool3 xyz) { return new bool3(xyz); }
1386
1387 /// <summary>Returns a bool3 vector constructed from a single bool value by assigning it to every component.</summary>
1388 /// <param name="v">bool to convert to bool3</param>
1389 /// <returns>Converted value.</returns>
1390 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1391 public static bool3 bool3(bool v) { return new bool3(v); }
1392
1393 /// <summary>Returns a uint hash code of a bool3 vector.</summary>
1394 /// <param name="v">Vector value to hash.</param>
1395 /// <returns>uint hash of the argument.</returns>
1396 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1397 public static uint hash(bool3 v)
1398 {
1399 return csum(select(uint3(0xA1E92D39u, 0x4583C801u, 0x9536A0F5u), uint3(0xAF816615u, 0x9AF8D62Du, 0xE3600729u), v));
1400 }
1401
1402 /// <summary>
1403 /// Returns a uint3 vector hash code of a bool3 vector.
1404 /// When multiple elements are to be hashes together, it can more efficient to calculate and combine wide hash
1405 /// that are only reduced to a narrow uint hash at the very end instead of at every step.
1406 /// </summary>
1407 /// <param name="v">Vector value to hash.</param>
1408 /// <returns>uint3 hash of the argument.</returns>
1409 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1410 public static uint3 hashwide(bool3 v)
1411 {
1412 return (select(uint3(0x5F17300Du, 0x670D6809u, 0x7AF32C49u), uint3(0xAE131389u, 0x5D1B165Bu, 0x87096CD7u), v));
1413 }
1414
1415 /// <summary>Returns the result of specified shuffling of the components from two bool3 vectors into a bool value.</summary>
1416 /// <param name="left">bool3 to use as the left argument of the shuffle operation.</param>
1417 /// <param name="right">bool3 to use as the right argument of the shuffle operation.</param>
1418 /// <param name="x">The ShuffleComponent to use when setting the resulting bool.</param>
1419 /// <returns>bool result of the shuffle operation.</returns>
1420 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1421 public static bool shuffle(bool3 left, bool3 right, ShuffleComponent x)
1422 {
1423 return select_shuffle_component(left, right, x);
1424 }
1425
1426 /// <summary>Returns the result of specified shuffling of the components from two bool3 vectors into a bool2 vector.</summary>
1427 /// <param name="left">bool3 to use as the left argument of the shuffle operation.</param>
1428 /// <param name="right">bool3 to use as the right argument of the shuffle operation.</param>
1429 /// <param name="x">The ShuffleComponent to use when setting the resulting bool2 x component.</param>
1430 /// <param name="y">The ShuffleComponent to use when setting the resulting bool2 y component.</param>
1431 /// <returns>bool2 result of the shuffle operation.</returns>
1432 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1433 public static bool2 shuffle(bool3 left, bool3 right, ShuffleComponent x, ShuffleComponent y)
1434 {
1435 return bool2(
1436 select_shuffle_component(left, right, x),
1437 select_shuffle_component(left, right, y));
1438 }
1439
1440 /// <summary>Returns the result of specified shuffling of the components from two bool3 vectors into a bool3 vector.</summary>
1441 /// <param name="left">bool3 to use as the left argument of the shuffle operation.</param>
1442 /// <param name="right">bool3 to use as the right argument of the shuffle operation.</param>
1443 /// <param name="x">The ShuffleComponent to use when setting the resulting bool3 x component.</param>
1444 /// <param name="y">The ShuffleComponent to use when setting the resulting bool3 y component.</param>
1445 /// <param name="z">The ShuffleComponent to use when setting the resulting bool3 z component.</param>
1446 /// <returns>bool3 result of the shuffle operation.</returns>
1447 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1448 public static bool3 shuffle(bool3 left, bool3 right, ShuffleComponent x, ShuffleComponent y, ShuffleComponent z)
1449 {
1450 return bool3(
1451 select_shuffle_component(left, right, x),
1452 select_shuffle_component(left, right, y),
1453 select_shuffle_component(left, right, z));
1454 }
1455
1456 /// <summary>Returns the result of specified shuffling of the components from two bool3 vectors into a bool4 vector.</summary>
1457 /// <param name="left">bool3 to use as the left argument of the shuffle operation.</param>
1458 /// <param name="right">bool3 to use as the right argument of the shuffle operation.</param>
1459 /// <param name="x">The ShuffleComponent to use when setting the resulting bool4 x component.</param>
1460 /// <param name="y">The ShuffleComponent to use when setting the resulting bool4 y component.</param>
1461 /// <param name="z">The ShuffleComponent to use when setting the resulting bool4 z component.</param>
1462 /// <param name="w">The ShuffleComponent to use when setting the resulting bool4 w component.</param>
1463 /// <returns>bool4 result of the shuffle operation.</returns>
1464 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1465 public static bool4 shuffle(bool3 left, bool3 right, ShuffleComponent x, ShuffleComponent y, ShuffleComponent z, ShuffleComponent w)
1466 {
1467 return bool4(
1468 select_shuffle_component(left, right, x),
1469 select_shuffle_component(left, right, y),
1470 select_shuffle_component(left, right, z),
1471 select_shuffle_component(left, right, w));
1472 }
1473
1474 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1475 internal static bool select_shuffle_component(bool3 a, bool3 b, ShuffleComponent component)
1476 {
1477 switch(component)
1478 {
1479 case ShuffleComponent.LeftX:
1480 return a.x;
1481 case ShuffleComponent.LeftY:
1482 return a.y;
1483 case ShuffleComponent.LeftZ:
1484 return a.z;
1485 case ShuffleComponent.RightX:
1486 return b.x;
1487 case ShuffleComponent.RightY:
1488 return b.y;
1489 case ShuffleComponent.RightZ:
1490 return b.z;
1491 default:
1492 throw new System.ArgumentException("Invalid shuffle component: " + component);
1493 }
1494 }
1495
1496 }
1497}