uint3.gen.cs 62 KB

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