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}