Ei kuvausta
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

bool3.gen.cs 60KB

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