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