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.Diagnostics;
12using Unity.IL2CPP.CompilerServices;
13
14#pragma warning disable 0660, 0661
15
16namespace Unity.Mathematics
17{
18 /// <summary>A 3 component vector of uints.</summary>
19 [DebuggerTypeProxy(typeof(uint3.DebuggerProxy))]
20 [System.Serializable]
21 [Il2CppEagerStaticClassConstruction]
22 public partial struct uint3 : System.IEquatable<uint3>, IFormattable
23 {
24 /// <summary>x component of the vector.</summary>
25 public uint x;
26 /// <summary>y component of the vector.</summary>
27 public uint y;
28 /// <summary>z component of the vector.</summary>
29 public uint z;
30
31 /// <summary>uint3 zero value.</summary>
32 public static readonly uint3 zero;
33
34 /// <summary>Constructs a uint3 vector from three uint values.</summary>
35 /// <param name="x">The constructed vector's x component will be set to this value.</param>
36 /// <param name="y">The constructed vector's y component will be set to this value.</param>
37 /// <param name="z">The constructed vector's z component will be set to this value.</param>
38 [MethodImpl(MethodImplOptions.AggressiveInlining)]
39 public uint3(uint x, uint y, uint z)
40 {
41 this.x = x;
42 this.y = y;
43 this.z = z;
44 }
45
46 /// <summary>Constructs a uint3 vector from a uint value and a uint2 vector.</summary>
47 /// <param name="x">The constructed vector's x component will be set to this value.</param>
48 /// <param name="yz">The constructed vector's yz components will be set to this value.</param>
49 [MethodImpl(MethodImplOptions.AggressiveInlining)]
50 public uint3(uint x, uint2 yz)
51 {
52 this.x = x;
53 this.y = yz.x;
54 this.z = yz.y;
55 }
56
57 /// <summary>Constructs a uint3 vector from a uint2 vector and a uint value.</summary>
58 /// <param name="xy">The constructed vector's xy components will be set to this value.</param>
59 /// <param name="z">The constructed vector's z component will be set to this value.</param>
60 [MethodImpl(MethodImplOptions.AggressiveInlining)]
61 public uint3(uint2 xy, uint z)
62 {
63 this.x = xy.x;
64 this.y = xy.y;
65 this.z = z;
66 }
67
68 /// <summary>Constructs a uint3 vector from a uint3 vector.</summary>
69 /// <param name="xyz">The constructed vector's xyz components will be set to this value.</param>
70 [MethodImpl(MethodImplOptions.AggressiveInlining)]
71 public uint3(uint3 xyz)
72 {
73 this.x = xyz.x;
74 this.y = xyz.y;
75 this.z = xyz.z;
76 }
77
78 /// <summary>Constructs a uint3 vector from a single uint value by assigning it to every component.</summary>
79 /// <param name="v">uint to convert to uint3</param>
80 [MethodImpl(MethodImplOptions.AggressiveInlining)]
81 public uint3(uint v)
82 {
83 this.x = v;
84 this.y = v;
85 this.z = v;
86 }
87
88 /// <summary>Constructs a uint3 vector from a single bool value by converting it to uint and assigning it to every component.</summary>
89 /// <param name="v">bool to convert to uint3</param>
90 [MethodImpl(MethodImplOptions.AggressiveInlining)]
91 public uint3(bool v)
92 {
93 this.x = v ? 1u : 0u;
94 this.y = v ? 1u : 0u;
95 this.z = v ? 1u : 0u;
96 }
97
98 /// <summary>Constructs a uint3 vector from a bool3 vector by componentwise conversion.</summary>
99 /// <param name="v">bool3 to convert to uint3</param>
100 [MethodImpl(MethodImplOptions.AggressiveInlining)]
101 public uint3(bool3 v)
102 {
103 this.x = v.x ? 1u : 0u;
104 this.y = v.y ? 1u : 0u;
105 this.z = v.z ? 1u : 0u;
106 }
107
108 /// <summary>Constructs a uint3 vector from a single int value by converting it to uint and assigning it to every component.</summary>
109 /// <param name="v">int to convert to uint3</param>
110 [MethodImpl(MethodImplOptions.AggressiveInlining)]
111 public uint3(int v)
112 {
113 this.x = (uint)v;
114 this.y = (uint)v;
115 this.z = (uint)v;
116 }
117
118 /// <summary>Constructs a uint3 vector from a int3 vector by componentwise conversion.</summary>
119 /// <param name="v">int3 to convert to uint3</param>
120 [MethodImpl(MethodImplOptions.AggressiveInlining)]
121 public uint3(int3 v)
122 {
123 this.x = (uint)v.x;
124 this.y = (uint)v.y;
125 this.z = (uint)v.z;
126 }
127
128 /// <summary>Constructs a uint3 vector from a single float value by converting it to uint and assigning it to every component.</summary>
129 /// <param name="v">float to convert to uint3</param>
130 [MethodImpl(MethodImplOptions.AggressiveInlining)]
131 public uint3(float v)
132 {
133 this.x = (uint)v;
134 this.y = (uint)v;
135 this.z = (uint)v;
136 }
137
138 /// <summary>Constructs a uint3 vector from a float3 vector by componentwise conversion.</summary>
139 /// <param name="v">float3 to convert to uint3</param>
140 [MethodImpl(MethodImplOptions.AggressiveInlining)]
141 public uint3(float3 v)
142 {
143 this.x = (uint)v.x;
144 this.y = (uint)v.y;
145 this.z = (uint)v.z;
146 }
147
148 /// <summary>Constructs a uint3 vector from a single double value by converting it to uint and assigning it to every component.</summary>
149 /// <param name="v">double to convert to uint3</param>
150 [MethodImpl(MethodImplOptions.AggressiveInlining)]
151 public uint3(double v)
152 {
153 this.x = (uint)v;
154 this.y = (uint)v;
155 this.z = (uint)v;
156 }
157
158 /// <summary>Constructs a uint3 vector from a double3 vector by componentwise conversion.</summary>
159 /// <param name="v">double3 to convert to uint3</param>
160 [MethodImpl(MethodImplOptions.AggressiveInlining)]
161 public uint3(double3 v)
162 {
163 this.x = (uint)v.x;
164 this.y = (uint)v.y;
165 this.z = (uint)v.z;
166 }
167
168
169 /// <summary>Implicitly converts a single uint value to a uint3 vector by assigning it to every component.</summary>
170 /// <param name="v">uint to convert to uint3</param>
171 /// <returns>Converted value.</returns>
172 [MethodImpl(MethodImplOptions.AggressiveInlining)]
173 public static implicit operator uint3(uint v) { return new uint3(v); }
174
175 /// <summary>Explicitly converts a single bool value to a uint3 vector by converting it to uint and assigning it to every component.</summary>
176 /// <param name="v">bool to convert to uint3</param>
177 /// <returns>Converted value.</returns>
178 [MethodImpl(MethodImplOptions.AggressiveInlining)]
179 public static explicit operator uint3(bool v) { return new uint3(v); }
180
181 /// <summary>Explicitly converts a bool3 vector to a uint3 vector by componentwise conversion.</summary>
182 /// <param name="v">bool3 to convert to uint3</param>
183 /// <returns>Converted value.</returns>
184 [MethodImpl(MethodImplOptions.AggressiveInlining)]
185 public static explicit operator uint3(bool3 v) { return new uint3(v); }
186
187 /// <summary>Explicitly converts a single int value to a uint3 vector by converting it to uint and assigning it to every component.</summary>
188 /// <param name="v">int to convert to uint3</param>
189 /// <returns>Converted value.</returns>
190 [MethodImpl(MethodImplOptions.AggressiveInlining)]
191 public static explicit operator uint3(int v) { return new uint3(v); }
192
193 /// <summary>Explicitly converts a int3 vector to a uint3 vector by componentwise conversion.</summary>
194 /// <param name="v">int3 to convert to uint3</param>
195 /// <returns>Converted value.</returns>
196 [MethodImpl(MethodImplOptions.AggressiveInlining)]
197 public static explicit operator uint3(int3 v) { return new uint3(v); }
198
199 /// <summary>Explicitly converts a single float value to a uint3 vector by converting it to uint and assigning it to every component.</summary>
200 /// <param name="v">float to convert to uint3</param>
201 /// <returns>Converted value.</returns>
202 [MethodImpl(MethodImplOptions.AggressiveInlining)]
203 public static explicit operator uint3(float v) { return new uint3(v); }
204
205 /// <summary>Explicitly converts a float3 vector to a uint3 vector by componentwise conversion.</summary>
206 /// <param name="v">float3 to convert to uint3</param>
207 /// <returns>Converted value.</returns>
208 [MethodImpl(MethodImplOptions.AggressiveInlining)]
209 public static explicit operator uint3(float3 v) { return new uint3(v); }
210
211 /// <summary>Explicitly converts a single double value to a uint3 vector by converting it to uint and assigning it to every component.</summary>
212 /// <param name="v">double to convert to uint3</param>
213 /// <returns>Converted value.</returns>
214 [MethodImpl(MethodImplOptions.AggressiveInlining)]
215 public static explicit operator uint3(double v) { return new uint3(v); }
216
217 /// <summary>Explicitly converts a double3 vector to a uint3 vector by componentwise conversion.</summary>
218 /// <param name="v">double3 to convert to uint3</param>
219 /// <returns>Converted value.</returns>
220 [MethodImpl(MethodImplOptions.AggressiveInlining)]
221 public static explicit operator uint3(double3 v) { return new uint3(v); }
222
223
224 /// <summary>Returns the result of a componentwise multiplication operation on two uint3 vectors.</summary>
225 /// <param name="lhs">Left hand side uint3 to use to compute componentwise multiplication.</param>
226 /// <param name="rhs">Right hand side uint3 to use to compute componentwise multiplication.</param>
227 /// <returns>uint3 result of the componentwise multiplication.</returns>
228 [MethodImpl(MethodImplOptions.AggressiveInlining)]
229 public static uint3 operator * (uint3 lhs, uint3 rhs) { return new uint3 (lhs.x * rhs.x, lhs.y * rhs.y, lhs.z * rhs.z); }
230
231 /// <summary>Returns the result of a componentwise multiplication operation on a uint3 vector and a uint value.</summary>
232 /// <param name="lhs">Left hand side uint3 to use to compute componentwise multiplication.</param>
233 /// <param name="rhs">Right hand side uint to use to compute componentwise multiplication.</param>
234 /// <returns>uint3 result of the componentwise multiplication.</returns>
235 [MethodImpl(MethodImplOptions.AggressiveInlining)]
236 public static uint3 operator * (uint3 lhs, uint rhs) { return new uint3 (lhs.x * rhs, lhs.y * rhs, lhs.z * rhs); }
237
238 /// <summary>Returns the result of a componentwise multiplication operation on a uint value and a uint3 vector.</summary>
239 /// <param name="lhs">Left hand side uint to use to compute componentwise multiplication.</param>
240 /// <param name="rhs">Right hand side uint3 to use to compute componentwise multiplication.</param>
241 /// <returns>uint3 result of the componentwise multiplication.</returns>
242 [MethodImpl(MethodImplOptions.AggressiveInlining)]
243 public static uint3 operator * (uint lhs, uint3 rhs) { return new uint3 (lhs * rhs.x, lhs * rhs.y, lhs * rhs.z); }
244
245
246 /// <summary>Returns the result of a componentwise addition operation on two uint3 vectors.</summary>
247 /// <param name="lhs">Left hand side uint3 to use to compute componentwise addition.</param>
248 /// <param name="rhs">Right hand side uint3 to use to compute componentwise addition.</param>
249 /// <returns>uint3 result of the componentwise addition.</returns>
250 [MethodImpl(MethodImplOptions.AggressiveInlining)]
251 public static uint3 operator + (uint3 lhs, uint3 rhs) { return new uint3 (lhs.x + rhs.x, lhs.y + rhs.y, lhs.z + rhs.z); }
252
253 /// <summary>Returns the result of a componentwise addition operation on a uint3 vector and a uint value.</summary>
254 /// <param name="lhs">Left hand side uint3 to use to compute componentwise addition.</param>
255 /// <param name="rhs">Right hand side uint to use to compute componentwise addition.</param>
256 /// <returns>uint3 result of the componentwise addition.</returns>
257 [MethodImpl(MethodImplOptions.AggressiveInlining)]
258 public static uint3 operator + (uint3 lhs, uint rhs) { return new uint3 (lhs.x + rhs, lhs.y + rhs, lhs.z + rhs); }
259
260 /// <summary>Returns the result of a componentwise addition operation on a uint value and a uint3 vector.</summary>
261 /// <param name="lhs">Left hand side uint to use to compute componentwise addition.</param>
262 /// <param name="rhs">Right hand side uint3 to use to compute componentwise addition.</param>
263 /// <returns>uint3 result of the componentwise addition.</returns>
264 [MethodImpl(MethodImplOptions.AggressiveInlining)]
265 public static uint3 operator + (uint lhs, uint3 rhs) { return new uint3 (lhs + rhs.x, lhs + rhs.y, lhs + rhs.z); }
266
267
268 /// <summary>Returns the result of a componentwise subtraction operation on two uint3 vectors.</summary>
269 /// <param name="lhs">Left hand side uint3 to use to compute componentwise subtraction.</param>
270 /// <param name="rhs">Right hand side uint3 to use to compute componentwise subtraction.</param>
271 /// <returns>uint3 result of the componentwise subtraction.</returns>
272 [MethodImpl(MethodImplOptions.AggressiveInlining)]
273 public static uint3 operator - (uint3 lhs, uint3 rhs) { return new uint3 (lhs.x - rhs.x, lhs.y - rhs.y, lhs.z - rhs.z); }
274
275 /// <summary>Returns the result of a componentwise subtraction operation on a uint3 vector and a uint value.</summary>
276 /// <param name="lhs">Left hand side uint3 to use to compute componentwise subtraction.</param>
277 /// <param name="rhs">Right hand side uint to use to compute componentwise subtraction.</param>
278 /// <returns>uint3 result of the componentwise subtraction.</returns>
279 [MethodImpl(MethodImplOptions.AggressiveInlining)]
280 public static uint3 operator - (uint3 lhs, uint rhs) { return new uint3 (lhs.x - rhs, lhs.y - rhs, lhs.z - rhs); }
281
282 /// <summary>Returns the result of a componentwise subtraction operation on a uint value and a uint3 vector.</summary>
283 /// <param name="lhs">Left hand side uint to use to compute componentwise subtraction.</param>
284 /// <param name="rhs">Right hand side uint3 to use to compute componentwise subtraction.</param>
285 /// <returns>uint3 result of the componentwise subtraction.</returns>
286 [MethodImpl(MethodImplOptions.AggressiveInlining)]
287 public static uint3 operator - (uint lhs, uint3 rhs) { return new uint3 (lhs - rhs.x, lhs - rhs.y, lhs - rhs.z); }
288
289
290 /// <summary>Returns the result of a componentwise division operation on two uint3 vectors.</summary>
291 /// <param name="lhs">Left hand side uint3 to use to compute componentwise division.</param>
292 /// <param name="rhs">Right hand side uint3 to use to compute componentwise division.</param>
293 /// <returns>uint3 result of the componentwise division.</returns>
294 [MethodImpl(MethodImplOptions.AggressiveInlining)]
295 public static uint3 operator / (uint3 lhs, uint3 rhs) { return new uint3 (lhs.x / rhs.x, lhs.y / rhs.y, lhs.z / rhs.z); }
296
297 /// <summary>Returns the result of a componentwise division operation on a uint3 vector and a uint value.</summary>
298 /// <param name="lhs">Left hand side uint3 to use to compute componentwise division.</param>
299 /// <param name="rhs">Right hand side uint to use to compute componentwise division.</param>
300 /// <returns>uint3 result of the componentwise division.</returns>
301 [MethodImpl(MethodImplOptions.AggressiveInlining)]
302 public static uint3 operator / (uint3 lhs, uint rhs) { return new uint3 (lhs.x / rhs, lhs.y / rhs, lhs.z / rhs); }
303
304 /// <summary>Returns the result of a componentwise division operation on a uint value and a uint3 vector.</summary>
305 /// <param name="lhs">Left hand side uint to use to compute componentwise division.</param>
306 /// <param name="rhs">Right hand side uint3 to use to compute componentwise division.</param>
307 /// <returns>uint3 result of the componentwise division.</returns>
308 [MethodImpl(MethodImplOptions.AggressiveInlining)]
309 public static uint3 operator / (uint lhs, uint3 rhs) { return new uint3 (lhs / rhs.x, lhs / rhs.y, lhs / rhs.z); }
310
311
312 /// <summary>Returns the result of a componentwise modulus operation on two uint3 vectors.</summary>
313 /// <param name="lhs">Left hand side uint3 to use to compute componentwise modulus.</param>
314 /// <param name="rhs">Right hand side uint3 to use to compute componentwise modulus.</param>
315 /// <returns>uint3 result of the componentwise modulus.</returns>
316 [MethodImpl(MethodImplOptions.AggressiveInlining)]
317 public static uint3 operator % (uint3 lhs, uint3 rhs) { return new uint3 (lhs.x % rhs.x, lhs.y % rhs.y, lhs.z % rhs.z); }
318
319 /// <summary>Returns the result of a componentwise modulus operation on a uint3 vector and a uint value.</summary>
320 /// <param name="lhs">Left hand side uint3 to use to compute componentwise modulus.</param>
321 /// <param name="rhs">Right hand side uint to use to compute componentwise modulus.</param>
322 /// <returns>uint3 result of the componentwise modulus.</returns>
323 [MethodImpl(MethodImplOptions.AggressiveInlining)]
324 public static uint3 operator % (uint3 lhs, uint rhs) { return new uint3 (lhs.x % rhs, lhs.y % rhs, lhs.z % rhs); }
325
326 /// <summary>Returns the result of a componentwise modulus operation on a uint value and a uint3 vector.</summary>
327 /// <param name="lhs">Left hand side uint to use to compute componentwise modulus.</param>
328 /// <param name="rhs">Right hand side uint3 to use to compute componentwise modulus.</param>
329 /// <returns>uint3 result of the componentwise modulus.</returns>
330 [MethodImpl(MethodImplOptions.AggressiveInlining)]
331 public static uint3 operator % (uint lhs, uint3 rhs) { return new uint3 (lhs % rhs.x, lhs % rhs.y, lhs % rhs.z); }
332
333
334 /// <summary>Returns the result of a componentwise increment operation on a uint3 vector.</summary>
335 /// <param name="val">Value to use when computing the componentwise increment.</param>
336 /// <returns>uint3 result of the componentwise increment.</returns>
337 [MethodImpl(MethodImplOptions.AggressiveInlining)]
338 public static uint3 operator ++ (uint3 val) { return new uint3 (++val.x, ++val.y, ++val.z); }
339
340
341 /// <summary>Returns the result of a componentwise decrement operation on a uint3 vector.</summary>
342 /// <param name="val">Value to use when computing the componentwise decrement.</param>
343 /// <returns>uint3 result of the componentwise decrement.</returns>
344 [MethodImpl(MethodImplOptions.AggressiveInlining)]
345 public static uint3 operator -- (uint3 val) { return new uint3 (--val.x, --val.y, --val.z); }
346
347
348 /// <summary>Returns the result of a componentwise less than operation on two uint3 vectors.</summary>
349 /// <param name="lhs">Left hand side uint3 to use to compute componentwise less than.</param>
350 /// <param name="rhs">Right hand side uint3 to use to compute componentwise less than.</param>
351 /// <returns>bool3 result of the componentwise less than.</returns>
352 [MethodImpl(MethodImplOptions.AggressiveInlining)]
353 public static bool3 operator < (uint3 lhs, uint3 rhs) { return new bool3 (lhs.x < rhs.x, lhs.y < rhs.y, lhs.z < rhs.z); }
354
355 /// <summary>Returns the result of a componentwise less than operation on a uint3 vector and a uint value.</summary>
356 /// <param name="lhs">Left hand side uint3 to use to compute componentwise less than.</param>
357 /// <param name="rhs">Right hand side uint to use to compute componentwise less than.</param>
358 /// <returns>bool3 result of the componentwise less than.</returns>
359 [MethodImpl(MethodImplOptions.AggressiveInlining)]
360 public static bool3 operator < (uint3 lhs, uint rhs) { return new bool3 (lhs.x < rhs, lhs.y < rhs, lhs.z < rhs); }
361
362 /// <summary>Returns the result of a componentwise less than operation on a uint value and a uint3 vector.</summary>
363 /// <param name="lhs">Left hand side uint to use to compute componentwise less than.</param>
364 /// <param name="rhs">Right hand side uint3 to use to compute componentwise less than.</param>
365 /// <returns>bool3 result of the componentwise less than.</returns>
366 [MethodImpl(MethodImplOptions.AggressiveInlining)]
367 public static bool3 operator < (uint lhs, uint3 rhs) { return new bool3 (lhs < rhs.x, lhs < rhs.y, lhs < rhs.z); }
368
369
370 /// <summary>Returns the result of a componentwise less or equal operation on two uint3 vectors.</summary>
371 /// <param name="lhs">Left hand side uint3 to use to compute componentwise less or equal.</param>
372 /// <param name="rhs">Right hand side uint3 to use to compute componentwise less or equal.</param>
373 /// <returns>bool3 result of the componentwise less or equal.</returns>
374 [MethodImpl(MethodImplOptions.AggressiveInlining)]
375 public static bool3 operator <= (uint3 lhs, uint3 rhs) { return new bool3 (lhs.x <= rhs.x, lhs.y <= rhs.y, lhs.z <= rhs.z); }
376
377 /// <summary>Returns the result of a componentwise less or equal operation on a uint3 vector and a uint value.</summary>
378 /// <param name="lhs">Left hand side uint3 to use to compute componentwise less or equal.</param>
379 /// <param name="rhs">Right hand side uint to use to compute componentwise less or equal.</param>
380 /// <returns>bool3 result of the componentwise less or equal.</returns>
381 [MethodImpl(MethodImplOptions.AggressiveInlining)]
382 public static bool3 operator <= (uint3 lhs, uint rhs) { return new bool3 (lhs.x <= rhs, lhs.y <= rhs, lhs.z <= rhs); }
383
384 /// <summary>Returns the result of a componentwise less or equal operation on a uint value and a uint3 vector.</summary>
385 /// <param name="lhs">Left hand side uint to use to compute componentwise less or equal.</param>
386 /// <param name="rhs">Right hand side uint3 to use to compute componentwise less or equal.</param>
387 /// <returns>bool3 result of the componentwise less or equal.</returns>
388 [MethodImpl(MethodImplOptions.AggressiveInlining)]
389 public static bool3 operator <= (uint lhs, uint3 rhs) { return new bool3 (lhs <= rhs.x, lhs <= rhs.y, lhs <= rhs.z); }
390
391
392 /// <summary>Returns the result of a componentwise greater than operation on two uint3 vectors.</summary>
393 /// <param name="lhs">Left hand side uint3 to use to compute componentwise greater than.</param>
394 /// <param name="rhs">Right hand side uint3 to use to compute componentwise greater than.</param>
395 /// <returns>bool3 result of the componentwise greater than.</returns>
396 [MethodImpl(MethodImplOptions.AggressiveInlining)]
397 public static bool3 operator > (uint3 lhs, uint3 rhs) { return new bool3 (lhs.x > rhs.x, lhs.y > rhs.y, lhs.z > rhs.z); }
398
399 /// <summary>Returns the result of a componentwise greater than operation on a uint3 vector and a uint value.</summary>
400 /// <param name="lhs">Left hand side uint3 to use to compute componentwise greater than.</param>
401 /// <param name="rhs">Right hand side uint to use to compute componentwise greater than.</param>
402 /// <returns>bool3 result of the componentwise greater than.</returns>
403 [MethodImpl(MethodImplOptions.AggressiveInlining)]
404 public static bool3 operator > (uint3 lhs, uint rhs) { return new bool3 (lhs.x > rhs, lhs.y > rhs, lhs.z > rhs); }
405
406 /// <summary>Returns the result of a componentwise greater than operation on a uint value and a uint3 vector.</summary>
407 /// <param name="lhs">Left hand side uint to use to compute componentwise greater than.</param>
408 /// <param name="rhs">Right hand side uint3 to use to compute componentwise greater than.</param>
409 /// <returns>bool3 result of the componentwise greater than.</returns>
410 [MethodImpl(MethodImplOptions.AggressiveInlining)]
411 public static bool3 operator > (uint lhs, uint3 rhs) { return new bool3 (lhs > rhs.x, lhs > rhs.y, lhs > rhs.z); }
412
413
414 /// <summary>Returns the result of a componentwise greater or equal operation on two uint3 vectors.</summary>
415 /// <param name="lhs">Left hand side uint3 to use to compute componentwise greater or equal.</param>
416 /// <param name="rhs">Right hand side uint3 to use to compute componentwise greater or equal.</param>
417 /// <returns>bool3 result of the componentwise greater or equal.</returns>
418 [MethodImpl(MethodImplOptions.AggressiveInlining)]
419 public static bool3 operator >= (uint3 lhs, uint3 rhs) { return new bool3 (lhs.x >= rhs.x, lhs.y >= rhs.y, lhs.z >= rhs.z); }
420
421 /// <summary>Returns the result of a componentwise greater or equal operation on a uint3 vector and a uint value.</summary>
422 /// <param name="lhs">Left hand side uint3 to use to compute componentwise greater or equal.</param>
423 /// <param name="rhs">Right hand side uint to use to compute componentwise greater or equal.</param>
424 /// <returns>bool3 result of the componentwise greater or equal.</returns>
425 [MethodImpl(MethodImplOptions.AggressiveInlining)]
426 public static bool3 operator >= (uint3 lhs, uint rhs) { return new bool3 (lhs.x >= rhs, lhs.y >= rhs, lhs.z >= rhs); }
427
428 /// <summary>Returns the result of a componentwise greater or equal operation on a uint value and a uint3 vector.</summary>
429 /// <param name="lhs">Left hand side uint to use to compute componentwise greater or equal.</param>
430 /// <param name="rhs">Right hand side uint3 to use to compute componentwise greater or equal.</param>
431 /// <returns>bool3 result of the componentwise greater or equal.</returns>
432 [MethodImpl(MethodImplOptions.AggressiveInlining)]
433 public static bool3 operator >= (uint lhs, uint3 rhs) { return new bool3 (lhs >= rhs.x, lhs >= rhs.y, lhs >= rhs.z); }
434
435
436 /// <summary>Returns the result of a componentwise unary minus operation on a uint3 vector.</summary>
437 /// <param name="val">Value to use when computing the componentwise unary minus.</param>
438 /// <returns>uint3 result of the componentwise unary minus.</returns>
439 [MethodImpl(MethodImplOptions.AggressiveInlining)]
440 public static uint3 operator - (uint3 val) { return new uint3 ((uint)-val.x, (uint)-val.y, (uint)-val.z); }
441
442
443 /// <summary>Returns the result of a componentwise unary plus operation on a uint3 vector.</summary>
444 /// <param name="val">Value to use when computing the componentwise unary plus.</param>
445 /// <returns>uint3 result of the componentwise unary plus.</returns>
446 [MethodImpl(MethodImplOptions.AggressiveInlining)]
447 public static uint3 operator + (uint3 val) { return new uint3 (+val.x, +val.y, +val.z); }
448
449
450 /// <summary>Returns the result of a componentwise left shift operation on a uint3 vector by a number of bits specified by a single int.</summary>
451 /// <param name="x">The vector to left shift.</param>
452 /// <param name="n">The number of bits to left shift.</param>
453 /// <returns>The result of the componentwise left shift.</returns>
454 [MethodImpl(MethodImplOptions.AggressiveInlining)]
455 public static uint3 operator << (uint3 x, int n) { return new uint3 (x.x << n, x.y << n, x.z << n); }
456
457 /// <summary>Returns the result of a componentwise right shift operation on a uint3 vector by a number of bits specified by a single int.</summary>
458 /// <param name="x">The vector to right shift.</param>
459 /// <param name="n">The number of bits to right shift.</param>
460 /// <returns>The result of the componentwise right shift.</returns>
461 [MethodImpl(MethodImplOptions.AggressiveInlining)]
462 public static uint3 operator >> (uint3 x, int n) { return new uint3 (x.x >> n, x.y >> n, x.z >> n); }
463
464 /// <summary>Returns the result of a componentwise equality operation on two uint3 vectors.</summary>
465 /// <param name="lhs">Left hand side uint3 to use to compute componentwise equality.</param>
466 /// <param name="rhs">Right hand side uint3 to use to compute componentwise equality.</param>
467 /// <returns>bool3 result of the componentwise equality.</returns>
468 [MethodImpl(MethodImplOptions.AggressiveInlining)]
469 public static bool3 operator == (uint3 lhs, uint3 rhs) { return new bool3 (lhs.x == rhs.x, lhs.y == rhs.y, lhs.z == rhs.z); }
470
471 /// <summary>Returns the result of a componentwise equality operation on a uint3 vector and a uint value.</summary>
472 /// <param name="lhs">Left hand side uint3 to use to compute componentwise equality.</param>
473 /// <param name="rhs">Right hand side uint to use to compute componentwise equality.</param>
474 /// <returns>bool3 result of the componentwise equality.</returns>
475 [MethodImpl(MethodImplOptions.AggressiveInlining)]
476 public static bool3 operator == (uint3 lhs, uint rhs) { return new bool3 (lhs.x == rhs, lhs.y == rhs, lhs.z == rhs); }
477
478 /// <summary>Returns the result of a componentwise equality operation on a uint value and a uint3 vector.</summary>
479 /// <param name="lhs">Left hand side uint to use to compute componentwise equality.</param>
480 /// <param name="rhs">Right hand side uint3 to use to compute componentwise equality.</param>
481 /// <returns>bool3 result of the componentwise equality.</returns>
482 [MethodImpl(MethodImplOptions.AggressiveInlining)]
483 public static bool3 operator == (uint lhs, uint3 rhs) { return new bool3 (lhs == rhs.x, lhs == rhs.y, lhs == rhs.z); }
484
485
486 /// <summary>Returns the result of a componentwise not equal operation on two uint3 vectors.</summary>
487 /// <param name="lhs">Left hand side uint3 to use to compute componentwise not equal.</param>
488 /// <param name="rhs">Right hand side uint3 to use to compute componentwise not equal.</param>
489 /// <returns>bool3 result of the componentwise not equal.</returns>
490 [MethodImpl(MethodImplOptions.AggressiveInlining)]
491 public static bool3 operator != (uint3 lhs, uint3 rhs) { return new bool3 (lhs.x != rhs.x, lhs.y != rhs.y, lhs.z != rhs.z); }
492
493 /// <summary>Returns the result of a componentwise not equal operation on a uint3 vector and a uint value.</summary>
494 /// <param name="lhs">Left hand side uint3 to use to compute componentwise not equal.</param>
495 /// <param name="rhs">Right hand side uint to use to compute componentwise not equal.</param>
496 /// <returns>bool3 result of the componentwise not equal.</returns>
497 [MethodImpl(MethodImplOptions.AggressiveInlining)]
498 public static bool3 operator != (uint3 lhs, uint rhs) { return new bool3 (lhs.x != rhs, lhs.y != rhs, lhs.z != rhs); }
499
500 /// <summary>Returns the result of a componentwise not equal operation on a uint value and a uint3 vector.</summary>
501 /// <param name="lhs">Left hand side uint to use to compute componentwise not equal.</param>
502 /// <param name="rhs">Right hand side uint3 to use to compute componentwise not equal.</param>
503 /// <returns>bool3 result of the componentwise not equal.</returns>
504 [MethodImpl(MethodImplOptions.AggressiveInlining)]
505 public static bool3 operator != (uint lhs, uint3 rhs) { return new bool3 (lhs != rhs.x, lhs != rhs.y, lhs != rhs.z); }
506
507
508 /// <summary>Returns the result of a componentwise bitwise not operation on a uint3 vector.</summary>
509 /// <param name="val">Value to use when computing the componentwise bitwise not.</param>
510 /// <returns>uint3 result of the componentwise bitwise not.</returns>
511 [MethodImpl(MethodImplOptions.AggressiveInlining)]
512 public static uint3 operator ~ (uint3 val) { return new uint3 (~val.x, ~val.y, ~val.z); }
513
514
515 /// <summary>Returns the result of a componentwise bitwise and operation on two uint3 vectors.</summary>
516 /// <param name="lhs">Left hand side uint3 to use to compute componentwise bitwise and.</param>
517 /// <param name="rhs">Right hand side uint3 to use to compute componentwise bitwise and.</param>
518 /// <returns>uint3 result of the componentwise bitwise and.</returns>
519 [MethodImpl(MethodImplOptions.AggressiveInlining)]
520 public static uint3 operator & (uint3 lhs, uint3 rhs) { return new uint3 (lhs.x & rhs.x, lhs.y & rhs.y, lhs.z & rhs.z); }
521
522 /// <summary>Returns the result of a componentwise bitwise and operation on a uint3 vector and a uint value.</summary>
523 /// <param name="lhs">Left hand side uint3 to use to compute componentwise bitwise and.</param>
524 /// <param name="rhs">Right hand side uint to use to compute componentwise bitwise and.</param>
525 /// <returns>uint3 result of the componentwise bitwise and.</returns>
526 [MethodImpl(MethodImplOptions.AggressiveInlining)]
527 public static uint3 operator & (uint3 lhs, uint rhs) { return new uint3 (lhs.x & rhs, lhs.y & rhs, lhs.z & rhs); }
528
529 /// <summary>Returns the result of a componentwise bitwise and operation on a uint value and a uint3 vector.</summary>
530 /// <param name="lhs">Left hand side uint to use to compute componentwise bitwise and.</param>
531 /// <param name="rhs">Right hand side uint3 to use to compute componentwise bitwise and.</param>
532 /// <returns>uint3 result of the componentwise bitwise and.</returns>
533 [MethodImpl(MethodImplOptions.AggressiveInlining)]
534 public static uint3 operator & (uint lhs, uint3 rhs) { return new uint3 (lhs & rhs.x, lhs & rhs.y, lhs & rhs.z); }
535
536
537 /// <summary>Returns the result of a componentwise bitwise or operation on two uint3 vectors.</summary>
538 /// <param name="lhs">Left hand side uint3 to use to compute componentwise bitwise or.</param>
539 /// <param name="rhs">Right hand side uint3 to use to compute componentwise bitwise or.</param>
540 /// <returns>uint3 result of the componentwise bitwise or.</returns>
541 [MethodImpl(MethodImplOptions.AggressiveInlining)]
542 public static uint3 operator | (uint3 lhs, uint3 rhs) { return new uint3 (lhs.x | rhs.x, lhs.y | rhs.y, lhs.z | rhs.z); }
543
544 /// <summary>Returns the result of a componentwise bitwise or operation on a uint3 vector and a uint value.</summary>
545 /// <param name="lhs">Left hand side uint3 to use to compute componentwise bitwise or.</param>
546 /// <param name="rhs">Right hand side uint to use to compute componentwise bitwise or.</param>
547 /// <returns>uint3 result of the componentwise bitwise or.</returns>
548 [MethodImpl(MethodImplOptions.AggressiveInlining)]
549 public static uint3 operator | (uint3 lhs, uint rhs) { return new uint3 (lhs.x | rhs, lhs.y | rhs, lhs.z | rhs); }
550
551 /// <summary>Returns the result of a componentwise bitwise or operation on a uint value and a uint3 vector.</summary>
552 /// <param name="lhs">Left hand side uint to use to compute componentwise bitwise or.</param>
553 /// <param name="rhs">Right hand side uint3 to use to compute componentwise bitwise or.</param>
554 /// <returns>uint3 result of the componentwise bitwise or.</returns>
555 [MethodImpl(MethodImplOptions.AggressiveInlining)]
556 public static uint3 operator | (uint lhs, uint3 rhs) { return new uint3 (lhs | rhs.x, lhs | rhs.y, lhs | rhs.z); }
557
558
559 /// <summary>Returns the result of a componentwise bitwise exclusive or operation on two uint3 vectors.</summary>
560 /// <param name="lhs">Left hand side uint3 to use to compute componentwise bitwise exclusive or.</param>
561 /// <param name="rhs">Right hand side uint3 to use to compute componentwise bitwise exclusive or.</param>
562 /// <returns>uint3 result of the componentwise bitwise exclusive or.</returns>
563 [MethodImpl(MethodImplOptions.AggressiveInlining)]
564 public static uint3 operator ^ (uint3 lhs, uint3 rhs) { return new uint3 (lhs.x ^ rhs.x, lhs.y ^ rhs.y, lhs.z ^ rhs.z); }
565
566 /// <summary>Returns the result of a componentwise bitwise exclusive or operation on a uint3 vector and a uint value.</summary>
567 /// <param name="lhs">Left hand side uint3 to use to compute componentwise bitwise exclusive or.</param>
568 /// <param name="rhs">Right hand side uint to use to compute componentwise bitwise exclusive or.</param>
569 /// <returns>uint3 result of the componentwise bitwise exclusive or.</returns>
570 [MethodImpl(MethodImplOptions.AggressiveInlining)]
571 public static uint3 operator ^ (uint3 lhs, uint rhs) { return new uint3 (lhs.x ^ rhs, lhs.y ^ rhs, lhs.z ^ rhs); }
572
573 /// <summary>Returns the result of a componentwise bitwise exclusive or operation on a uint value and a uint3 vector.</summary>
574 /// <param name="lhs">Left hand side uint to use to compute componentwise bitwise exclusive or.</param>
575 /// <param name="rhs">Right hand side uint3 to use to compute componentwise bitwise exclusive or.</param>
576 /// <returns>uint3 result of the componentwise bitwise exclusive or.</returns>
577 [MethodImpl(MethodImplOptions.AggressiveInlining)]
578 public static uint3 operator ^ (uint lhs, uint3 rhs) { return new uint3 (lhs ^ rhs.x, lhs ^ rhs.y, lhs ^ rhs.z); }
579
580
581
582
583 /// <summary>Swizzles the vector.</summary>
584 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
585 public uint4 xxxx
586 {
587 [MethodImpl(MethodImplOptions.AggressiveInlining)]
588 get { return new uint4(x, x, x, x); }
589 }
590
591
592 /// <summary>Swizzles the vector.</summary>
593 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
594 public uint4 xxxy
595 {
596 [MethodImpl(MethodImplOptions.AggressiveInlining)]
597 get { return new uint4(x, x, x, y); }
598 }
599
600
601 /// <summary>Swizzles the vector.</summary>
602 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
603 public uint4 xxxz
604 {
605 [MethodImpl(MethodImplOptions.AggressiveInlining)]
606 get { return new uint4(x, x, x, z); }
607 }
608
609
610 /// <summary>Swizzles the vector.</summary>
611 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
612 public uint4 xxyx
613 {
614 [MethodImpl(MethodImplOptions.AggressiveInlining)]
615 get { return new uint4(x, x, y, x); }
616 }
617
618
619 /// <summary>Swizzles the vector.</summary>
620 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
621 public uint4 xxyy
622 {
623 [MethodImpl(MethodImplOptions.AggressiveInlining)]
624 get { return new uint4(x, x, y, y); }
625 }
626
627
628 /// <summary>Swizzles the vector.</summary>
629 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
630 public uint4 xxyz
631 {
632 [MethodImpl(MethodImplOptions.AggressiveInlining)]
633 get { return new uint4(x, x, y, z); }
634 }
635
636
637 /// <summary>Swizzles the vector.</summary>
638 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
639 public uint4 xxzx
640 {
641 [MethodImpl(MethodImplOptions.AggressiveInlining)]
642 get { return new uint4(x, x, z, x); }
643 }
644
645
646 /// <summary>Swizzles the vector.</summary>
647 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
648 public uint4 xxzy
649 {
650 [MethodImpl(MethodImplOptions.AggressiveInlining)]
651 get { return new uint4(x, x, z, y); }
652 }
653
654
655 /// <summary>Swizzles the vector.</summary>
656 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
657 public uint4 xxzz
658 {
659 [MethodImpl(MethodImplOptions.AggressiveInlining)]
660 get { return new uint4(x, x, z, z); }
661 }
662
663
664 /// <summary>Swizzles the vector.</summary>
665 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
666 public uint4 xyxx
667 {
668 [MethodImpl(MethodImplOptions.AggressiveInlining)]
669 get { return new uint4(x, y, x, x); }
670 }
671
672
673 /// <summary>Swizzles the vector.</summary>
674 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
675 public uint4 xyxy
676 {
677 [MethodImpl(MethodImplOptions.AggressiveInlining)]
678 get { return new uint4(x, y, x, y); }
679 }
680
681
682 /// <summary>Swizzles the vector.</summary>
683 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
684 public uint4 xyxz
685 {
686 [MethodImpl(MethodImplOptions.AggressiveInlining)]
687 get { return new uint4(x, y, x, z); }
688 }
689
690
691 /// <summary>Swizzles the vector.</summary>
692 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
693 public uint4 xyyx
694 {
695 [MethodImpl(MethodImplOptions.AggressiveInlining)]
696 get { return new uint4(x, y, y, x); }
697 }
698
699
700 /// <summary>Swizzles the vector.</summary>
701 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
702 public uint4 xyyy
703 {
704 [MethodImpl(MethodImplOptions.AggressiveInlining)]
705 get { return new uint4(x, y, y, y); }
706 }
707
708
709 /// <summary>Swizzles the vector.</summary>
710 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
711 public uint4 xyyz
712 {
713 [MethodImpl(MethodImplOptions.AggressiveInlining)]
714 get { return new uint4(x, y, y, z); }
715 }
716
717
718 /// <summary>Swizzles the vector.</summary>
719 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
720 public uint4 xyzx
721 {
722 [MethodImpl(MethodImplOptions.AggressiveInlining)]
723 get { return new uint4(x, y, z, x); }
724 }
725
726
727 /// <summary>Swizzles the vector.</summary>
728 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
729 public uint4 xyzy
730 {
731 [MethodImpl(MethodImplOptions.AggressiveInlining)]
732 get { return new uint4(x, y, z, y); }
733 }
734
735
736 /// <summary>Swizzles the vector.</summary>
737 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
738 public uint4 xyzz
739 {
740 [MethodImpl(MethodImplOptions.AggressiveInlining)]
741 get { return new uint4(x, y, z, z); }
742 }
743
744
745 /// <summary>Swizzles the vector.</summary>
746 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
747 public uint4 xzxx
748 {
749 [MethodImpl(MethodImplOptions.AggressiveInlining)]
750 get { return new uint4(x, z, x, x); }
751 }
752
753
754 /// <summary>Swizzles the vector.</summary>
755 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
756 public uint4 xzxy
757 {
758 [MethodImpl(MethodImplOptions.AggressiveInlining)]
759 get { return new uint4(x, z, x, y); }
760 }
761
762
763 /// <summary>Swizzles the vector.</summary>
764 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
765 public uint4 xzxz
766 {
767 [MethodImpl(MethodImplOptions.AggressiveInlining)]
768 get { return new uint4(x, z, x, z); }
769 }
770
771
772 /// <summary>Swizzles the vector.</summary>
773 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
774 public uint4 xzyx
775 {
776 [MethodImpl(MethodImplOptions.AggressiveInlining)]
777 get { return new uint4(x, z, y, x); }
778 }
779
780
781 /// <summary>Swizzles the vector.</summary>
782 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
783 public uint4 xzyy
784 {
785 [MethodImpl(MethodImplOptions.AggressiveInlining)]
786 get { return new uint4(x, z, y, y); }
787 }
788
789
790 /// <summary>Swizzles the vector.</summary>
791 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
792 public uint4 xzyz
793 {
794 [MethodImpl(MethodImplOptions.AggressiveInlining)]
795 get { return new uint4(x, z, y, z); }
796 }
797
798
799 /// <summary>Swizzles the vector.</summary>
800 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
801 public uint4 xzzx
802 {
803 [MethodImpl(MethodImplOptions.AggressiveInlining)]
804 get { return new uint4(x, z, z, x); }
805 }
806
807
808 /// <summary>Swizzles the vector.</summary>
809 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
810 public uint4 xzzy
811 {
812 [MethodImpl(MethodImplOptions.AggressiveInlining)]
813 get { return new uint4(x, z, z, y); }
814 }
815
816
817 /// <summary>Swizzles the vector.</summary>
818 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
819 public uint4 xzzz
820 {
821 [MethodImpl(MethodImplOptions.AggressiveInlining)]
822 get { return new uint4(x, z, z, z); }
823 }
824
825
826 /// <summary>Swizzles the vector.</summary>
827 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
828 public uint4 yxxx
829 {
830 [MethodImpl(MethodImplOptions.AggressiveInlining)]
831 get { return new uint4(y, x, x, x); }
832 }
833
834
835 /// <summary>Swizzles the vector.</summary>
836 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
837 public uint4 yxxy
838 {
839 [MethodImpl(MethodImplOptions.AggressiveInlining)]
840 get { return new uint4(y, x, x, y); }
841 }
842
843
844 /// <summary>Swizzles the vector.</summary>
845 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
846 public uint4 yxxz
847 {
848 [MethodImpl(MethodImplOptions.AggressiveInlining)]
849 get { return new uint4(y, x, x, z); }
850 }
851
852
853 /// <summary>Swizzles the vector.</summary>
854 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
855 public uint4 yxyx
856 {
857 [MethodImpl(MethodImplOptions.AggressiveInlining)]
858 get { return new uint4(y, x, y, x); }
859 }
860
861
862 /// <summary>Swizzles the vector.</summary>
863 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
864 public uint4 yxyy
865 {
866 [MethodImpl(MethodImplOptions.AggressiveInlining)]
867 get { return new uint4(y, x, y, y); }
868 }
869
870
871 /// <summary>Swizzles the vector.</summary>
872 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
873 public uint4 yxyz
874 {
875 [MethodImpl(MethodImplOptions.AggressiveInlining)]
876 get { return new uint4(y, x, y, z); }
877 }
878
879
880 /// <summary>Swizzles the vector.</summary>
881 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
882 public uint4 yxzx
883 {
884 [MethodImpl(MethodImplOptions.AggressiveInlining)]
885 get { return new uint4(y, x, z, x); }
886 }
887
888
889 /// <summary>Swizzles the vector.</summary>
890 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
891 public uint4 yxzy
892 {
893 [MethodImpl(MethodImplOptions.AggressiveInlining)]
894 get { return new uint4(y, x, z, y); }
895 }
896
897
898 /// <summary>Swizzles the vector.</summary>
899 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
900 public uint4 yxzz
901 {
902 [MethodImpl(MethodImplOptions.AggressiveInlining)]
903 get { return new uint4(y, x, z, z); }
904 }
905
906
907 /// <summary>Swizzles the vector.</summary>
908 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
909 public uint4 yyxx
910 {
911 [MethodImpl(MethodImplOptions.AggressiveInlining)]
912 get { return new uint4(y, y, x, x); }
913 }
914
915
916 /// <summary>Swizzles the vector.</summary>
917 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
918 public uint4 yyxy
919 {
920 [MethodImpl(MethodImplOptions.AggressiveInlining)]
921 get { return new uint4(y, y, x, y); }
922 }
923
924
925 /// <summary>Swizzles the vector.</summary>
926 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
927 public uint4 yyxz
928 {
929 [MethodImpl(MethodImplOptions.AggressiveInlining)]
930 get { return new uint4(y, y, x, z); }
931 }
932
933
934 /// <summary>Swizzles the vector.</summary>
935 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
936 public uint4 yyyx
937 {
938 [MethodImpl(MethodImplOptions.AggressiveInlining)]
939 get { return new uint4(y, y, y, x); }
940 }
941
942
943 /// <summary>Swizzles the vector.</summary>
944 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
945 public uint4 yyyy
946 {
947 [MethodImpl(MethodImplOptions.AggressiveInlining)]
948 get { return new uint4(y, y, y, y); }
949 }
950
951
952 /// <summary>Swizzles the vector.</summary>
953 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
954 public uint4 yyyz
955 {
956 [MethodImpl(MethodImplOptions.AggressiveInlining)]
957 get { return new uint4(y, y, y, z); }
958 }
959
960
961 /// <summary>Swizzles the vector.</summary>
962 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
963 public uint4 yyzx
964 {
965 [MethodImpl(MethodImplOptions.AggressiveInlining)]
966 get { return new uint4(y, y, z, x); }
967 }
968
969
970 /// <summary>Swizzles the vector.</summary>
971 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
972 public uint4 yyzy
973 {
974 [MethodImpl(MethodImplOptions.AggressiveInlining)]
975 get { return new uint4(y, y, z, y); }
976 }
977
978
979 /// <summary>Swizzles the vector.</summary>
980 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
981 public uint4 yyzz
982 {
983 [MethodImpl(MethodImplOptions.AggressiveInlining)]
984 get { return new uint4(y, y, z, z); }
985 }
986
987
988 /// <summary>Swizzles the vector.</summary>
989 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
990 public uint4 yzxx
991 {
992 [MethodImpl(MethodImplOptions.AggressiveInlining)]
993 get { return new uint4(y, z, x, x); }
994 }
995
996
997 /// <summary>Swizzles the vector.</summary>
998 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
999 public uint4 yzxy
1000 {
1001 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1002 get { return new uint4(y, z, x, y); }
1003 }
1004
1005
1006 /// <summary>Swizzles the vector.</summary>
1007 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1008 public uint4 yzxz
1009 {
1010 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1011 get { return new uint4(y, z, x, z); }
1012 }
1013
1014
1015 /// <summary>Swizzles the vector.</summary>
1016 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1017 public uint4 yzyx
1018 {
1019 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1020 get { return new uint4(y, z, y, x); }
1021 }
1022
1023
1024 /// <summary>Swizzles the vector.</summary>
1025 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1026 public uint4 yzyy
1027 {
1028 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1029 get { return new uint4(y, z, y, y); }
1030 }
1031
1032
1033 /// <summary>Swizzles the vector.</summary>
1034 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1035 public uint4 yzyz
1036 {
1037 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1038 get { return new uint4(y, z, y, z); }
1039 }
1040
1041
1042 /// <summary>Swizzles the vector.</summary>
1043 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1044 public uint4 yzzx
1045 {
1046 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1047 get { return new uint4(y, z, z, x); }
1048 }
1049
1050
1051 /// <summary>Swizzles the vector.</summary>
1052 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1053 public uint4 yzzy
1054 {
1055 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1056 get { return new uint4(y, z, z, y); }
1057 }
1058
1059
1060 /// <summary>Swizzles the vector.</summary>
1061 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1062 public uint4 yzzz
1063 {
1064 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1065 get { return new uint4(y, z, z, z); }
1066 }
1067
1068
1069 /// <summary>Swizzles the vector.</summary>
1070 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1071 public uint4 zxxx
1072 {
1073 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1074 get { return new uint4(z, x, x, x); }
1075 }
1076
1077
1078 /// <summary>Swizzles the vector.</summary>
1079 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1080 public uint4 zxxy
1081 {
1082 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1083 get { return new uint4(z, x, x, y); }
1084 }
1085
1086
1087 /// <summary>Swizzles the vector.</summary>
1088 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1089 public uint4 zxxz
1090 {
1091 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1092 get { return new uint4(z, x, x, z); }
1093 }
1094
1095
1096 /// <summary>Swizzles the vector.</summary>
1097 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1098 public uint4 zxyx
1099 {
1100 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1101 get { return new uint4(z, x, y, x); }
1102 }
1103
1104
1105 /// <summary>Swizzles the vector.</summary>
1106 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1107 public uint4 zxyy
1108 {
1109 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1110 get { return new uint4(z, x, y, y); }
1111 }
1112
1113
1114 /// <summary>Swizzles the vector.</summary>
1115 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1116 public uint4 zxyz
1117 {
1118 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1119 get { return new uint4(z, x, y, z); }
1120 }
1121
1122
1123 /// <summary>Swizzles the vector.</summary>
1124 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1125 public uint4 zxzx
1126 {
1127 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1128 get { return new uint4(z, x, z, x); }
1129 }
1130
1131
1132 /// <summary>Swizzles the vector.</summary>
1133 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1134 public uint4 zxzy
1135 {
1136 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1137 get { return new uint4(z, x, z, y); }
1138 }
1139
1140
1141 /// <summary>Swizzles the vector.</summary>
1142 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1143 public uint4 zxzz
1144 {
1145 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1146 get { return new uint4(z, x, z, z); }
1147 }
1148
1149
1150 /// <summary>Swizzles the vector.</summary>
1151 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1152 public uint4 zyxx
1153 {
1154 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1155 get { return new uint4(z, y, x, x); }
1156 }
1157
1158
1159 /// <summary>Swizzles the vector.</summary>
1160 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1161 public uint4 zyxy
1162 {
1163 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1164 get { return new uint4(z, y, x, y); }
1165 }
1166
1167
1168 /// <summary>Swizzles the vector.</summary>
1169 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1170 public uint4 zyxz
1171 {
1172 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1173 get { return new uint4(z, y, x, z); }
1174 }
1175
1176
1177 /// <summary>Swizzles the vector.</summary>
1178 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1179 public uint4 zyyx
1180 {
1181 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1182 get { return new uint4(z, y, y, x); }
1183 }
1184
1185
1186 /// <summary>Swizzles the vector.</summary>
1187 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1188 public uint4 zyyy
1189 {
1190 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1191 get { return new uint4(z, y, y, y); }
1192 }
1193
1194
1195 /// <summary>Swizzles the vector.</summary>
1196 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1197 public uint4 zyyz
1198 {
1199 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1200 get { return new uint4(z, y, y, z); }
1201 }
1202
1203
1204 /// <summary>Swizzles the vector.</summary>
1205 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1206 public uint4 zyzx
1207 {
1208 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1209 get { return new uint4(z, y, z, x); }
1210 }
1211
1212
1213 /// <summary>Swizzles the vector.</summary>
1214 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1215 public uint4 zyzy
1216 {
1217 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1218 get { return new uint4(z, y, z, y); }
1219 }
1220
1221
1222 /// <summary>Swizzles the vector.</summary>
1223 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1224 public uint4 zyzz
1225 {
1226 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1227 get { return new uint4(z, y, z, z); }
1228 }
1229
1230
1231 /// <summary>Swizzles the vector.</summary>
1232 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1233 public uint4 zzxx
1234 {
1235 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1236 get { return new uint4(z, z, x, x); }
1237 }
1238
1239
1240 /// <summary>Swizzles the vector.</summary>
1241 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1242 public uint4 zzxy
1243 {
1244 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1245 get { return new uint4(z, z, x, y); }
1246 }
1247
1248
1249 /// <summary>Swizzles the vector.</summary>
1250 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1251 public uint4 zzxz
1252 {
1253 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1254 get { return new uint4(z, z, x, z); }
1255 }
1256
1257
1258 /// <summary>Swizzles the vector.</summary>
1259 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1260 public uint4 zzyx
1261 {
1262 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1263 get { return new uint4(z, z, y, x); }
1264 }
1265
1266
1267 /// <summary>Swizzles the vector.</summary>
1268 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1269 public uint4 zzyy
1270 {
1271 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1272 get { return new uint4(z, z, y, y); }
1273 }
1274
1275
1276 /// <summary>Swizzles the vector.</summary>
1277 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1278 public uint4 zzyz
1279 {
1280 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1281 get { return new uint4(z, z, y, z); }
1282 }
1283
1284
1285 /// <summary>Swizzles the vector.</summary>
1286 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1287 public uint4 zzzx
1288 {
1289 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1290 get { return new uint4(z, z, z, x); }
1291 }
1292
1293
1294 /// <summary>Swizzles the vector.</summary>
1295 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1296 public uint4 zzzy
1297 {
1298 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1299 get { return new uint4(z, z, z, y); }
1300 }
1301
1302
1303 /// <summary>Swizzles the vector.</summary>
1304 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1305 public uint4 zzzz
1306 {
1307 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1308 get { return new uint4(z, z, z, z); }
1309 }
1310
1311
1312 /// <summary>Swizzles the vector.</summary>
1313 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1314 public uint3 xxx
1315 {
1316 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1317 get { return new uint3(x, x, x); }
1318 }
1319
1320
1321 /// <summary>Swizzles the vector.</summary>
1322 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1323 public uint3 xxy
1324 {
1325 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1326 get { return new uint3(x, x, y); }
1327 }
1328
1329
1330 /// <summary>Swizzles the vector.</summary>
1331 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1332 public uint3 xxz
1333 {
1334 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1335 get { return new uint3(x, x, z); }
1336 }
1337
1338
1339 /// <summary>Swizzles the vector.</summary>
1340 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1341 public uint3 xyx
1342 {
1343 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1344 get { return new uint3(x, y, x); }
1345 }
1346
1347
1348 /// <summary>Swizzles the vector.</summary>
1349 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1350 public uint3 xyy
1351 {
1352 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1353 get { return new uint3(x, y, y); }
1354 }
1355
1356
1357 /// <summary>Swizzles the vector.</summary>
1358 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1359 public uint3 xyz
1360 {
1361 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1362 get { return new uint3(x, y, z); }
1363 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1364 set { x = value.x; y = value.y; z = value.z; }
1365 }
1366
1367
1368 /// <summary>Swizzles the vector.</summary>
1369 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1370 public uint3 xzx
1371 {
1372 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1373 get { return new uint3(x, z, x); }
1374 }
1375
1376
1377 /// <summary>Swizzles the vector.</summary>
1378 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1379 public uint3 xzy
1380 {
1381 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1382 get { return new uint3(x, z, y); }
1383 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1384 set { x = value.x; z = value.y; y = value.z; }
1385 }
1386
1387
1388 /// <summary>Swizzles the vector.</summary>
1389 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1390 public uint3 xzz
1391 {
1392 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1393 get { return new uint3(x, z, z); }
1394 }
1395
1396
1397 /// <summary>Swizzles the vector.</summary>
1398 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1399 public uint3 yxx
1400 {
1401 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1402 get { return new uint3(y, x, x); }
1403 }
1404
1405
1406 /// <summary>Swizzles the vector.</summary>
1407 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1408 public uint3 yxy
1409 {
1410 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1411 get { return new uint3(y, x, y); }
1412 }
1413
1414
1415 /// <summary>Swizzles the vector.</summary>
1416 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1417 public uint3 yxz
1418 {
1419 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1420 get { return new uint3(y, x, z); }
1421 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1422 set { y = value.x; x = value.y; z = value.z; }
1423 }
1424
1425
1426 /// <summary>Swizzles the vector.</summary>
1427 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1428 public uint3 yyx
1429 {
1430 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1431 get { return new uint3(y, y, x); }
1432 }
1433
1434
1435 /// <summary>Swizzles the vector.</summary>
1436 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1437 public uint3 yyy
1438 {
1439 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1440 get { return new uint3(y, y, y); }
1441 }
1442
1443
1444 /// <summary>Swizzles the vector.</summary>
1445 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1446 public uint3 yyz
1447 {
1448 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1449 get { return new uint3(y, y, z); }
1450 }
1451
1452
1453 /// <summary>Swizzles the vector.</summary>
1454 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1455 public uint3 yzx
1456 {
1457 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1458 get { return new uint3(y, z, x); }
1459 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1460 set { y = value.x; z = value.y; x = value.z; }
1461 }
1462
1463
1464 /// <summary>Swizzles the vector.</summary>
1465 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1466 public uint3 yzy
1467 {
1468 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1469 get { return new uint3(y, z, y); }
1470 }
1471
1472
1473 /// <summary>Swizzles the vector.</summary>
1474 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1475 public uint3 yzz
1476 {
1477 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1478 get { return new uint3(y, z, z); }
1479 }
1480
1481
1482 /// <summary>Swizzles the vector.</summary>
1483 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1484 public uint3 zxx
1485 {
1486 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1487 get { return new uint3(z, x, x); }
1488 }
1489
1490
1491 /// <summary>Swizzles the vector.</summary>
1492 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1493 public uint3 zxy
1494 {
1495 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1496 get { return new uint3(z, x, y); }
1497 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1498 set { z = value.x; x = value.y; y = value.z; }
1499 }
1500
1501
1502 /// <summary>Swizzles the vector.</summary>
1503 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1504 public uint3 zxz
1505 {
1506 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1507 get { return new uint3(z, x, z); }
1508 }
1509
1510
1511 /// <summary>Swizzles the vector.</summary>
1512 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1513 public uint3 zyx
1514 {
1515 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1516 get { return new uint3(z, y, x); }
1517 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1518 set { z = value.x; y = value.y; x = value.z; }
1519 }
1520
1521
1522 /// <summary>Swizzles the vector.</summary>
1523 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1524 public uint3 zyy
1525 {
1526 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1527 get { return new uint3(z, y, y); }
1528 }
1529
1530
1531 /// <summary>Swizzles the vector.</summary>
1532 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1533 public uint3 zyz
1534 {
1535 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1536 get { return new uint3(z, y, z); }
1537 }
1538
1539
1540 /// <summary>Swizzles the vector.</summary>
1541 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1542 public uint3 zzx
1543 {
1544 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1545 get { return new uint3(z, z, x); }
1546 }
1547
1548
1549 /// <summary>Swizzles the vector.</summary>
1550 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1551 public uint3 zzy
1552 {
1553 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1554 get { return new uint3(z, z, y); }
1555 }
1556
1557
1558 /// <summary>Swizzles the vector.</summary>
1559 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1560 public uint3 zzz
1561 {
1562 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1563 get { return new uint3(z, z, z); }
1564 }
1565
1566
1567 /// <summary>Swizzles the vector.</summary>
1568 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1569 public uint2 xx
1570 {
1571 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1572 get { return new uint2(x, x); }
1573 }
1574
1575
1576 /// <summary>Swizzles the vector.</summary>
1577 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1578 public uint2 xy
1579 {
1580 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1581 get { return new uint2(x, y); }
1582 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1583 set { x = value.x; y = value.y; }
1584 }
1585
1586
1587 /// <summary>Swizzles the vector.</summary>
1588 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1589 public uint2 xz
1590 {
1591 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1592 get { return new uint2(x, z); }
1593 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1594 set { x = value.x; z = value.y; }
1595 }
1596
1597
1598 /// <summary>Swizzles the vector.</summary>
1599 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1600 public uint2 yx
1601 {
1602 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1603 get { return new uint2(y, x); }
1604 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1605 set { y = value.x; x = value.y; }
1606 }
1607
1608
1609 /// <summary>Swizzles the vector.</summary>
1610 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1611 public uint2 yy
1612 {
1613 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1614 get { return new uint2(y, y); }
1615 }
1616
1617
1618 /// <summary>Swizzles the vector.</summary>
1619 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1620 public uint2 yz
1621 {
1622 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1623 get { return new uint2(y, z); }
1624 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1625 set { y = value.x; z = value.y; }
1626 }
1627
1628
1629 /// <summary>Swizzles the vector.</summary>
1630 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1631 public uint2 zx
1632 {
1633 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1634 get { return new uint2(z, x); }
1635 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1636 set { z = value.x; x = value.y; }
1637 }
1638
1639
1640 /// <summary>Swizzles the vector.</summary>
1641 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1642 public uint2 zy
1643 {
1644 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1645 get { return new uint2(z, y); }
1646 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1647 set { z = value.x; y = value.y; }
1648 }
1649
1650
1651 /// <summary>Swizzles the vector.</summary>
1652 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
1653 public uint2 zz
1654 {
1655 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1656 get { return new uint2(z, z); }
1657 }
1658
1659
1660
1661 /// <summary>Returns the uint element at a specified index.</summary>
1662 unsafe public uint this[int index]
1663 {
1664 get
1665 {
1666#if ENABLE_UNITY_COLLECTIONS_CHECKS
1667 if ((uint)index >= 3)
1668 throw new System.ArgumentException("index must be between[0...2]");
1669#endif
1670 fixed (uint3* array = &this) { return ((uint*)array)[index]; }
1671 }
1672 set
1673 {
1674#if ENABLE_UNITY_COLLECTIONS_CHECKS
1675 if ((uint)index >= 3)
1676 throw new System.ArgumentException("index must be between[0...2]");
1677#endif
1678 fixed (uint* array = &x) { array[index] = value; }
1679 }
1680 }
1681
1682 /// <summary>Returns true if the uint3 is equal to a given uint3, false otherwise.</summary>
1683 /// <param name="rhs">Right hand side argument to compare equality with.</param>
1684 /// <returns>The result of the equality comparison.</returns>
1685 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1686 public bool Equals(uint3 rhs) { return x == rhs.x && y == rhs.y && z == rhs.z; }
1687
1688 /// <summary>Returns true if the uint3 is equal to a given uint3, false otherwise.</summary>
1689 /// <param name="o">Right hand side argument to compare equality with.</param>
1690 /// <returns>The result of the equality comparison.</returns>
1691 public override bool Equals(object o) { return o is uint3 converted && Equals(converted); }
1692
1693
1694 /// <summary>Returns a hash code for the uint3.</summary>
1695 /// <returns>The computed hash code.</returns>
1696 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1697 public override int GetHashCode() { return (int)math.hash(this); }
1698
1699
1700 /// <summary>Returns a string representation of the uint3.</summary>
1701 /// <returns>String representation of the value.</returns>
1702 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1703 public override string ToString()
1704 {
1705 return string.Format("uint3({0}, {1}, {2})", x, y, z);
1706 }
1707
1708 /// <summary>Returns a string representation of the uint3 using a specified format and culture-specific format information.</summary>
1709 /// <param name="format">Format string to use during string formatting.</param>
1710 /// <param name="formatProvider">Format provider to use during string formatting.</param>
1711 /// <returns>String representation of the value.</returns>
1712 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1713 public string ToString(string format, IFormatProvider formatProvider)
1714 {
1715 return string.Format("uint3({0}, {1}, {2})", x.ToString(format, formatProvider), y.ToString(format, formatProvider), z.ToString(format, formatProvider));
1716 }
1717
1718 internal sealed class DebuggerProxy
1719 {
1720 public uint x;
1721 public uint y;
1722 public uint z;
1723 public DebuggerProxy(uint3 v)
1724 {
1725 x = v.x;
1726 y = v.y;
1727 z = v.z;
1728 }
1729 }
1730
1731 }
1732
1733 public static partial class math
1734 {
1735 /// <summary>Returns a uint3 vector constructed from three uint values.</summary>
1736 /// <param name="x">The constructed vector's x component will be set to this value.</param>
1737 /// <param name="y">The constructed vector's y component will be set to this value.</param>
1738 /// <param name="z">The constructed vector's z component will be set to this value.</param>
1739 /// <returns>uint3 constructed from arguments.</returns>
1740 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1741 public static uint3 uint3(uint x, uint y, uint z) { return new uint3(x, y, z); }
1742
1743 /// <summary>Returns a uint3 vector constructed from a uint value and a uint2 vector.</summary>
1744 /// <param name="x">The constructed vector's x component will be set to this value.</param>
1745 /// <param name="yz">The constructed vector's yz components will be set to this value.</param>
1746 /// <returns>uint3 constructed from arguments.</returns>
1747 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1748 public static uint3 uint3(uint x, uint2 yz) { return new uint3(x, yz); }
1749
1750 /// <summary>Returns a uint3 vector constructed from a uint2 vector and a uint value.</summary>
1751 /// <param name="xy">The constructed vector's xy components will be set to this value.</param>
1752 /// <param name="z">The constructed vector's z component will be set to this value.</param>
1753 /// <returns>uint3 constructed from arguments.</returns>
1754 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1755 public static uint3 uint3(uint2 xy, uint z) { return new uint3(xy, z); }
1756
1757 /// <summary>Returns a uint3 vector constructed from a uint3 vector.</summary>
1758 /// <param name="xyz">The constructed vector's xyz components will be set to this value.</param>
1759 /// <returns>uint3 constructed from arguments.</returns>
1760 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1761 public static uint3 uint3(uint3 xyz) { return new uint3(xyz); }
1762
1763 /// <summary>Returns a uint3 vector constructed from a single uint value by assigning it to every component.</summary>
1764 /// <param name="v">uint to convert to uint3</param>
1765 /// <returns>Converted value.</returns>
1766 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1767 public static uint3 uint3(uint v) { return new uint3(v); }
1768
1769 /// <summary>Returns a uint3 vector constructed from a single bool value by converting it to uint and assigning it to every component.</summary>
1770 /// <param name="v">bool to convert to uint3</param>
1771 /// <returns>Converted value.</returns>
1772 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1773 public static uint3 uint3(bool v) { return new uint3(v); }
1774
1775 /// <summary>Return a uint3 vector constructed from a bool3 vector by componentwise conversion.</summary>
1776 /// <param name="v">bool3 to convert to uint3</param>
1777 /// <returns>Converted value.</returns>
1778 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1779 public static uint3 uint3(bool3 v) { return new uint3(v); }
1780
1781 /// <summary>Returns a uint3 vector constructed from a single int value by converting it to uint and assigning it to every component.</summary>
1782 /// <param name="v">int to convert to uint3</param>
1783 /// <returns>Converted value.</returns>
1784 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1785 public static uint3 uint3(int v) { return new uint3(v); }
1786
1787 /// <summary>Return a uint3 vector constructed from a int3 vector by componentwise conversion.</summary>
1788 /// <param name="v">int3 to convert to uint3</param>
1789 /// <returns>Converted value.</returns>
1790 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1791 public static uint3 uint3(int3 v) { return new uint3(v); }
1792
1793 /// <summary>Returns a uint3 vector constructed from a single float value by converting it to uint and assigning it to every component.</summary>
1794 /// <param name="v">float to convert to uint3</param>
1795 /// <returns>Converted value.</returns>
1796 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1797 public static uint3 uint3(float v) { return new uint3(v); }
1798
1799 /// <summary>Return a uint3 vector constructed from a float3 vector by componentwise conversion.</summary>
1800 /// <param name="v">float3 to convert to uint3</param>
1801 /// <returns>Converted value.</returns>
1802 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1803 public static uint3 uint3(float3 v) { return new uint3(v); }
1804
1805 /// <summary>Returns a uint3 vector constructed from a single double value by converting it to uint and assigning it to every component.</summary>
1806 /// <param name="v">double to convert to uint3</param>
1807 /// <returns>Converted value.</returns>
1808 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1809 public static uint3 uint3(double v) { return new uint3(v); }
1810
1811 /// <summary>Return a uint3 vector constructed from a double3 vector by componentwise conversion.</summary>
1812 /// <param name="v">double3 to convert to uint3</param>
1813 /// <returns>Converted value.</returns>
1814 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1815 public static uint3 uint3(double3 v) { return new uint3(v); }
1816
1817 /// <summary>Returns a uint hash code of a uint3 vector.</summary>
1818 /// <param name="v">Vector value to hash.</param>
1819 /// <returns>uint hash of the argument.</returns>
1820 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1821 public static uint hash(uint3 v)
1822 {
1823 return csum(v * uint3(0xCD266C89u, 0xF1852A33u, 0x77E35E77u)) + 0x863E3729u;
1824 }
1825
1826 /// <summary>
1827 /// Returns a uint3 vector hash code of a uint3 vector.
1828 /// When multiple elements are to be hashes together, it can more efficient to calculate and combine wide hash
1829 /// that are only reduced to a narrow uint hash at the very end instead of at every step.
1830 /// </summary>
1831 /// <param name="v">Vector value to hash.</param>
1832 /// <returns>uint3 hash of the argument.</returns>
1833 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1834 public static uint3 hashwide(uint3 v)
1835 {
1836 return (v * uint3(0xE191B035u, 0x68586FAFu, 0xD4DFF6D3u)) + 0xCB634F4Du;
1837 }
1838
1839 /// <summary>Returns the result of specified shuffling of the components from two uint3 vectors into a uint value.</summary>
1840 /// <param name="left">uint3 to use as the left argument of the shuffle operation.</param>
1841 /// <param name="right">uint3 to use as the right argument of the shuffle operation.</param>
1842 /// <param name="x">The ShuffleComponent to use when setting the resulting uint.</param>
1843 /// <returns>uint result of the shuffle operation.</returns>
1844 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1845 public static uint shuffle(uint3 left, uint3 right, ShuffleComponent x)
1846 {
1847 return select_shuffle_component(left, right, x);
1848 }
1849
1850 /// <summary>Returns the result of specified shuffling of the components from two uint3 vectors into a uint2 vector.</summary>
1851 /// <param name="left">uint3 to use as the left argument of the shuffle operation.</param>
1852 /// <param name="right">uint3 to use as the right argument of the shuffle operation.</param>
1853 /// <param name="x">The ShuffleComponent to use when setting the resulting uint2 x component.</param>
1854 /// <param name="y">The ShuffleComponent to use when setting the resulting uint2 y component.</param>
1855 /// <returns>uint2 result of the shuffle operation.</returns>
1856 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1857 public static uint2 shuffle(uint3 left, uint3 right, ShuffleComponent x, ShuffleComponent y)
1858 {
1859 return uint2(
1860 select_shuffle_component(left, right, x),
1861 select_shuffle_component(left, right, y));
1862 }
1863
1864 /// <summary>Returns the result of specified shuffling of the components from two uint3 vectors into a uint3 vector.</summary>
1865 /// <param name="left">uint3 to use as the left argument of the shuffle operation.</param>
1866 /// <param name="right">uint3 to use as the right argument of the shuffle operation.</param>
1867 /// <param name="x">The ShuffleComponent to use when setting the resulting uint3 x component.</param>
1868 /// <param name="y">The ShuffleComponent to use when setting the resulting uint3 y component.</param>
1869 /// <param name="z">The ShuffleComponent to use when setting the resulting uint3 z component.</param>
1870 /// <returns>uint3 result of the shuffle operation.</returns>
1871 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1872 public static uint3 shuffle(uint3 left, uint3 right, ShuffleComponent x, ShuffleComponent y, ShuffleComponent z)
1873 {
1874 return uint3(
1875 select_shuffle_component(left, right, x),
1876 select_shuffle_component(left, right, y),
1877 select_shuffle_component(left, right, z));
1878 }
1879
1880 /// <summary>Returns the result of specified shuffling of the components from two uint3 vectors into a uint4 vector.</summary>
1881 /// <param name="left">uint3 to use as the left argument of the shuffle operation.</param>
1882 /// <param name="right">uint3 to use as the right argument of the shuffle operation.</param>
1883 /// <param name="x">The ShuffleComponent to use when setting the resulting uint4 x component.</param>
1884 /// <param name="y">The ShuffleComponent to use when setting the resulting uint4 y component.</param>
1885 /// <param name="z">The ShuffleComponent to use when setting the resulting uint4 z component.</param>
1886 /// <param name="w">The ShuffleComponent to use when setting the resulting uint4 w component.</param>
1887 /// <returns>uint4 result of the shuffle operation.</returns>
1888 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1889 public static uint4 shuffle(uint3 left, uint3 right, ShuffleComponent x, ShuffleComponent y, ShuffleComponent z, ShuffleComponent w)
1890 {
1891 return uint4(
1892 select_shuffle_component(left, right, x),
1893 select_shuffle_component(left, right, y),
1894 select_shuffle_component(left, right, z),
1895 select_shuffle_component(left, right, w));
1896 }
1897
1898 [MethodImpl(MethodImplOptions.AggressiveInlining)]
1899 internal static uint select_shuffle_component(uint3 a, uint3 b, ShuffleComponent component)
1900 {
1901 switch(component)
1902 {
1903 case ShuffleComponent.LeftX:
1904 return a.x;
1905 case ShuffleComponent.LeftY:
1906 return a.y;
1907 case ShuffleComponent.LeftZ:
1908 return a.z;
1909 case ShuffleComponent.RightX:
1910 return b.x;
1911 case ShuffleComponent.RightY:
1912 return b.y;
1913 case ShuffleComponent.RightZ:
1914 return b.z;
1915 default:
1916 throw new System.ArgumentException("Invalid shuffle component: " + component);
1917 }
1918 }
1919
1920 }
1921}