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