package Ġglm _. vec 3 . operators Ċ Ċ import Ġglm _. i Ċ import Ġglm _. vec 3 . Vec 3 ui Ċ import Ġglm _. vec 3 . Vec 3 ui . Companion . div Ċ import Ġglm _. vec 3 . Vec 3 ui . Companion . minus Ċ import Ġglm _. vec 3 . Vec 3 ui . Companion . plus Ċ import Ġglm _. vec 3 . Vec 3 ui . Companion . rem Ċ import Ġglm _. vec 3 . Vec 3 ui . Companion . times Ċ import Ġunsigned . Uint Ċ import Ġunsigned . u div Ċ import Ġunsigned . ure m ĊĊ Ċ /** Ċ Ġ* ĠCreated Ġby ĠG Bar b ier i Ġon Ġ 0 8 . 1 1 . 2 0 1 6 . Ċ Ġ*/ Ċ Ċ interface Ġvec 3 ui _ operators Ġ{ ĊĊĠĠĠ Ġfun Ġplus ( res : ĠVec 3 ui , Ġa : ĠVec 3 ui , Ġb X : ĠUint , Ġb Y : ĠUint , Ġb Z : ĠUint ): ĠVec 3 ui Ġ{ ĊĠĠĠĠĠĠĠ Ġres . x . v Ġ= Ġa . x . v Ġ+ Ġb X . v ĊĠĠĠĠĠĠĠ Ġres . y . v Ġ= Ġa . y . v Ġ+ Ġb Y . v ĊĠĠĠĠĠĠĠ Ġres . z . v Ġ= Ġa . z . v Ġ+ Ġb Z . v ĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġplus ( res : ĠVec 3 ui , Ġa : ĠVec 3 ui , Ġb X : ĠInt , Ġb Y : ĠInt , Ġb Z : ĠInt ): ĠVec 3 ui Ġ{ ĊĠĠĠĠĠĠĠ Ġres . x . v Ġ= Ġa . x . v Ġ+ Ġb X ĊĠĠĠĠĠĠĠ Ġres . y . v Ġ= Ġa . y . v Ġ+ Ġb Y ĊĠĠĠĠĠĠĠ Ġres . z . v Ġ= Ġa . z . v Ġ+ Ġb Z ĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġminus ( res : ĠVec 3 ui , Ġa : ĠVec 3 ui , Ġb X : ĠUint , Ġb Y : ĠUint , Ġb Z : ĠUint ): ĠVec 3 ui Ġ{ ĊĠĠĠĠĠĠĠ Ġres . x . v Ġ= Ġa . x . v Ġ- Ġb X . v ĊĠĠĠĠĠĠĠ Ġres . y . v Ġ= Ġa . y . v Ġ- Ġb Y . v ĊĠĠĠĠĠĠĠ Ġres . z . v Ġ= Ġa . z . v Ġ- Ġb Z . v ĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġminus ( res : ĠVec 3 ui , Ġa : ĠVec 3 ui , Ġb X : ĠInt , Ġb Y : ĠInt , Ġb Z : ĠInt ): ĠVec 3 ui Ġ{ ĊĠĠĠĠĠĠĠ Ġres . x . v Ġ= Ġa . x . v Ġ- Ġb X ĊĠĠĠĠĠĠĠ Ġres . y . v Ġ= Ġa . y . v Ġ- Ġb Y ĊĠĠĠĠĠĠĠ Ġres . z . v Ġ= Ġa . z . v Ġ- Ġb Z ĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġminus ( res : ĠVec 3 ui , Ġa X : ĠUint , Ġa Y : ĠUint , Ġa Z : ĠUint , Ġb : ĠVec 3 ui ): ĠVec 3 ui Ġ{ ĊĠĠĠĠĠĠĠ Ġres . x . v Ġ= Ġa X . v Ġ- Ġb . x . v ĊĠĠĠĠĠĠĠ Ġres . y . v Ġ= Ġa Y . v Ġ- Ġb . y . v ĊĠĠĠĠĠĠĠ Ġres . z . v Ġ= Ġa Z . v Ġ- Ġb . z . v ĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġminus ( res : ĠVec 3 ui , Ġa X : ĠInt , Ġa Y : ĠInt , Ġa Z : ĠInt , Ġb : ĠVec 3 ui ): ĠVec 3 ui Ġ{ ĊĠĠĠĠĠĠĠ Ġres . x . v Ġ= Ġa X Ġ- Ġb . x . v ĊĠĠĠĠĠĠĠ Ġres . y . v Ġ= Ġa Y Ġ- Ġb . y . v ĊĠĠĠĠĠĠĠ Ġres . z . v Ġ= Ġa Z Ġ- Ġb . z . v ĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġtimes ( res : ĠVec 3 ui , Ġa : ĠVec 3 ui , Ġb X : ĠUint , Ġb Y : ĠUint , Ġb Z : ĠUint ): ĠVec 3 ui Ġ{ ĊĠĠĠĠĠĠĠ Ġres . x . v Ġ= Ġa . x . v Ġ* Ġb X . v ĊĠĠĠĠĠĠĠ Ġres . y . v Ġ= Ġa . y . v Ġ* Ġb Y . v ĊĠĠĠĠĠĠĠ Ġres . z . v Ġ= Ġa . z . v Ġ* Ġb Z . v ĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġtimes ( res : ĠVec 3 ui , Ġa : ĠVec 3 ui , Ġb X : ĠInt , Ġb Y : ĠInt , Ġb Z : ĠInt ): ĠVec 3 ui Ġ{ ĊĠĠĠĠĠĠĠ Ġres . x . v Ġ= Ġa . x . v Ġ* Ġb X ĊĠĠĠĠĠĠĠ Ġres . y . v Ġ= Ġa . y . v Ġ* Ġb Y ĊĠĠĠĠĠĠĠ Ġres . z . v Ġ= Ġa . z . v Ġ* Ġb Z ĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdiv ( res : ĠVec 3 ui , Ġa : ĠVec 3 ui , Ġb X : ĠUint , Ġb Y : ĠUint , Ġb Z : ĠUint ): ĠVec 3 ui Ġ{ ĊĠĠĠĠĠĠĠ Ġres . x . v Ġ= Ġa . x . v Ġu div Ġb X . v ĊĠĠĠĠĠĠĠ Ġres . y . v Ġ= Ġa . y . v Ġu div Ġb Y . v ĊĠĠĠĠĠĠĠ Ġres . z . v Ġ= Ġa . z . v Ġu div Ġb Z . v ĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdiv ( res : ĠVec 3 ui , Ġa : ĠVec 3 ui , Ġb X : ĠInt , Ġb Y : ĠInt , Ġb Z : ĠInt ): ĠVec 3 ui Ġ{ ĊĠĠĠĠĠĠĠ Ġres . x . v Ġ= Ġa . x . v Ġu div Ġb X ĊĠĠĠĠĠĠĠ Ġres . y . v Ġ= Ġa . y . v Ġu div Ġb Y ĊĠĠĠĠĠĠĠ Ġres . z . v Ġ= Ġa . z . v Ġu div Ġb Z ĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdiv ( res : ĠVec 3 ui , Ġa X : ĠUint , Ġa Y : ĠUint , Ġa Z : ĠUint , Ġb : ĠVec 3 ui ): ĠVec 3 ui Ġ{ ĊĠĠĠĠĠĠĠ Ġres . x . v Ġ= Ġa X . v Ġu div Ġb . x . v ĊĠĠĠĠĠĠĠ Ġres . y . v Ġ= Ġa Y . v Ġu div Ġb . y . v ĊĠĠĠĠĠĠĠ Ġres . z . v Ġ= Ġa Z . v Ġu div Ġb . z . v ĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdiv ( res : ĠVec 3 ui , Ġa X : ĠInt , Ġa Y : ĠInt , Ġa Z : ĠInt , Ġb : ĠVec 3 ui ): ĠVec 3 ui Ġ{ ĊĠĠĠĠĠĠĠ Ġres . x . v Ġ= Ġa X Ġu div Ġb . x . v ĊĠĠĠĠĠĠĠ Ġres . y . v Ġ= Ġa Y Ġu div Ġb . y . v ĊĠĠĠĠĠĠĠ Ġres . z . v Ġ= Ġa Z Ġu div Ġb . z . v ĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġrem ( res : ĠVec 3 ui , Ġa : ĠVec 3 ui , Ġb X : ĠUint , Ġb Y : ĠUint , Ġb Z : ĠUint ): ĠVec 3 ui Ġ{ ĊĠĠĠĠĠĠĠ Ġres . x . v Ġ= Ġa . x . v Ġ ure m Ġb X . v ĊĠĠĠĠĠĠĠ Ġres . y . v Ġ= Ġa . y . v Ġ ure m Ġb Y . v ĊĠĠĠĠĠĠĠ Ġres . z . v Ġ= Ġa . z . v Ġ ure m Ġb Z . v ĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġrem ( res : ĠVec 3 ui , Ġa : ĠVec 3 ui , Ġb X : ĠInt , Ġb Y : ĠInt , Ġb Z : ĠInt ): ĠVec 3 ui Ġ{ ĊĠĠĠĠĠĠĠ Ġres . x . v Ġ= Ġa . x . v Ġ ure m Ġb X ĊĠĠĠĠĠĠĠ Ġres . y . v Ġ= Ġa . y . v Ġ ure m Ġb Y ĊĠĠĠĠĠĠĠ Ġres . z . v Ġ= Ġa . z . v Ġ ure m Ġb Z ĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġrem ( res : ĠVec 3 ui , Ġa X : ĠUint , Ġa Y : ĠUint , Ġa Z : ĠUint , Ġb : ĠVec 3 ui ): ĠVec 3 ui Ġ{ ĊĠĠĠĠĠĠĠ Ġres . x . v Ġ= Ġa X . v Ġ ure m Ġb . x . v ĊĠĠĠĠĠĠĠ Ġres . y . v Ġ= Ġa Y . v Ġ ure m Ġb . y . v ĊĠĠĠĠĠĠĠ Ġres . z . v Ġ= Ġa Z . v Ġ ure m Ġb . z . v ĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġrem ( res : ĠVec 3 ui , Ġa X : ĠInt , Ġa Y : ĠInt , Ġa Z : ĠInt , Ġb : ĠVec 3 ui ): ĠVec 3 ui Ġ{ ĊĠĠĠĠĠĠĠ Ġres . x . v Ġ= Ġa X Ġ ure m Ġb . x . v ĊĠĠĠĠĠĠĠ Ġres . y . v Ġ= Ġa Y Ġ ure m Ġb . y . v ĊĠĠĠĠĠĠĠ Ġres . z . v Ġ= Ġa Z Ġ ure m Ġb . z . v ĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġand ( res : ĠVec 3 ui , Ġa : ĠVec 3 ui , Ġb X : ĠUint , Ġb Y : ĠUint , Ġb Z : ĠUint ): ĠVec 3 ui Ġ{ ĊĠĠĠĠĠĠĠ Ġres . x . v Ġ= Ġa . x . v Ġand Ġb X . v ĊĠĠĠĠĠĠĠ Ġres . y . v Ġ= Ġa . y . v Ġand Ġb Y . v ĊĠĠĠĠĠĠĠ Ġres . z . v Ġ= Ġa . z . v Ġand Ġb Z . v ĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġand ( res : ĠVec 3 ui , Ġa : ĠVec 3 ui , Ġb X : ĠInt , Ġb Y : ĠInt , Ġb Z : ĠInt ): ĠVec 3 ui Ġ{ ĊĠĠĠĠĠĠĠ Ġres . x . v Ġ= Ġa . x . v Ġand Ġb X ĊĠĠĠĠĠĠĠ Ġres . y . v Ġ= Ġa . y . v Ġand Ġb Y ĊĠĠĠĠĠĠĠ Ġres . z . v Ġ= Ġa . z . v Ġand Ġb Z ĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġor ( res : ĠVec 3 ui , Ġa : ĠVec 3 ui , Ġb X : ĠUint , Ġb Y : ĠUint , Ġb Z : ĠUint ): ĠVec 3 ui Ġ{ ĊĠĠĠĠĠĠĠ Ġres . x . v Ġ= Ġa . x . v Ġor Ġb X . v ĊĠĠĠĠĠĠĠ Ġres . y . v Ġ= Ġa . y . v Ġor Ġb Y . v ĊĠĠĠĠĠĠĠ Ġres . z . v Ġ= Ġa . z . v Ġor Ġb Z . v ĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġor ( res : ĠVec 3 ui , Ġa : ĠVec 3 ui , Ġb X : ĠInt , Ġb Y : ĠInt , Ġb Z : ĠInt ): ĠVec 3 ui Ġ{ ĊĠĠĠĠĠĠĠ Ġres . x . v Ġ= Ġa . x . v Ġor Ġb X ĊĠĠĠĠĠĠĠ Ġres . y . v Ġ= Ġa . y . v Ġor Ġb Y ĊĠĠĠĠĠĠĠ Ġres . z . v Ġ= Ġa . z . v Ġor Ġb Z ĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġxor ( res : ĠVec 3 ui , Ġa : ĠVec 3 ui , Ġb X : ĠUint , Ġb Y : ĠUint , Ġb Z : ĠUint ): ĠVec 3 ui Ġ{ ĊĠĠĠĠĠĠĠ Ġres . x . v Ġ= Ġa . x . v Ġxor Ġb X . v ĊĠĠĠĠĠĠĠ Ġres . y . v Ġ= Ġa . y . v Ġxor Ġb Y . v ĊĠĠĠĠĠĠĠ Ġres . z . v Ġ= Ġa . z . v Ġxor Ġb Z . v ĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġxor ( res : ĠVec 3 ui , Ġa : ĠVec 3 ui , Ġb X : ĠInt , Ġb Y : ĠInt , Ġb Z : ĠInt ): ĠVec 3 ui Ġ{ ĊĠĠĠĠĠĠĠ Ġres . x . v Ġ= Ġa . x . v Ġxor Ġb X ĊĠĠĠĠĠĠĠ Ġres . y . v Ġ= Ġa . y . v Ġxor Ġb Y ĊĠĠĠĠĠĠĠ Ġres . z . v Ġ= Ġa . z . v Ġxor Ġb Z ĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġshl ( res : ĠVec 3 ui , Ġa : ĠVec 3 ui , Ġb X : ĠUint , Ġb Y : ĠUint , Ġb Z : ĠUint ): ĠVec 3 ui Ġ{ ĊĠĠĠĠĠĠĠ Ġres . x . v Ġ= Ġa . x . v Ġshl Ġb X . v ĊĠĠĠĠĠĠĠ Ġres . y . v Ġ= Ġa . y . v Ġshl Ġb Y . v ĊĠĠĠĠĠĠĠ Ġres . z . v Ġ= Ġa . z . v Ġshl Ġb Z . v ĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġshl ( res : ĠVec 3 ui , Ġa : ĠVec 3 ui , Ġb X : ĠInt , Ġb Y : ĠInt , Ġb Z : ĠInt ): ĠVec 3 ui Ġ{ ĊĠĠĠĠĠĠĠ Ġres . x . v Ġ= Ġa . x . v Ġshl Ġb X ĊĠĠĠĠĠĠĠ Ġres . y . v Ġ= Ġa . y . v Ġshl Ġb Y ĊĠĠĠĠĠĠĠ Ġres . z . v Ġ= Ġa . z . v Ġshl Ġb Z ĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġshr ( res : ĠVec 3 ui , Ġa : ĠVec 3 ui , Ġb X : ĠUint , Ġb Y : ĠUint , Ġb Z : ĠUint ): ĠVec 3 ui Ġ{ ĊĠĠĠĠĠĠĠ Ġres . x . v Ġ= Ġa . x . v Ġ ush r Ġb X . v ĊĠĠĠĠĠĠĠ Ġres . y . v Ġ= Ġa . y . v Ġ ush r Ġb Y . v ĊĠĠĠĠĠĠĠ Ġres . z . v Ġ= Ġa . z . v Ġ ush r Ġb Z . v ĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġshr ( res : ĠVec 3 ui , Ġa : ĠVec 3 ui , Ġb X : ĠInt , Ġb Y : ĠInt , Ġb Z : ĠInt ): ĠVec 3 ui Ġ{ ĊĠĠĠĠĠĠĠ Ġres . x . v Ġ= Ġa . x . v Ġ ush r Ġb X ĊĠĠĠĠĠĠĠ Ġres . y . v Ġ= Ġa . y . v Ġ ush r Ġb Y ĊĠĠĠĠĠĠĠ Ġres . z . v Ġ= Ġa . z . v Ġ ush r Ġb Z ĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġinv ( res : ĠVec 3 ui , Ġa : ĠVec 3 ui ): ĠVec 3 ui Ġ{ ĊĠĠĠĠĠĠĠ Ġres . x . v Ġ= Ġa . x . v . inv () ĊĠĠĠĠĠĠĠ Ġres . y . v Ġ= Ġa . y . v . inv () ĊĠĠĠĠĠĠĠ Ġres . z . v Ġ= Ġa . z . v . inv () ĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} Ċ } ĊĊ Ċ // Ġ-- ĠSpecific Ġbinary Ġarithmetic Ġoperators Ġ-- Ċ Ċ infix Ġoperator Ġfun ĠUint . plus ( b : ĠVec 3 ui ) Ġ= Ġplus ( Vec 3 ui (), Ġb , Ġthis , Ġthis , Ġthis ) Ċ fun ĠUint . plus ( b : ĠVec 3 ui , Ġres : ĠVec 3 ui ) Ġ= Ġplus ( res , Ġb , Ġthis , Ġthis , Ġthis ) Ċ infix Ġfun ĠUint . plus Assign ( b : ĠVec 3 ui ) Ġ= Ġplus ( b , Ġb , Ġthis , Ġthis , Ġthis ) Ċ Ċ infix Ġoperator Ġfun ĠUint . minus ( b : ĠVec 3 ui ) Ġ= Ġminus ( Vec 3 ui (), Ġthis , Ġthis , Ġthis , Ġb ) Ċ fun ĠUint . minus ( b : ĠVec 3 ui , Ġres : ĠVec 3 ui ) Ġ= Ġminus ( res , Ġb , Ġthis , Ġthis , Ġthis ) Ċ infix Ġfun ĠUint . minus Assign ( b : ĠVec 3 ui ) Ġ= Ġminus ( b , Ġthis , Ġthis , Ġthis , Ġb ) Ċ Ċ infix Ġoperator Ġfun ĠUint . times ( b : ĠVec 3 ui ) Ġ= Ġtimes ( Vec 3 ui (), Ġb , Ġthis , Ġthis , Ġthis ) Ċ fun ĠUint . times ( b : ĠVec 3 ui , Ġres : ĠVec 3 ui ) Ġ= Ġtimes ( res , Ġb , Ġthis , Ġthis , Ġthis ) Ċ infix Ġfun ĠUint . times Assign ( b : ĠVec 3 ui ) Ġ= Ġtimes ( b , Ġb , Ġthis , Ġthis , Ġthis ) Ċ Ċ infix Ġoperator Ġfun ĠUint . div ( b : ĠVec 3 ui ) Ġ= Ġdiv ( Vec 3 ui (), Ġthis , Ġthis , Ġthis , Ġb ) Ċ fun ĠUint . div ( b : ĠVec 3 ui , Ġres : ĠVec 3 ui ) Ġ= Ġdiv ( res , Ġb , Ġthis , Ġthis , Ġthis ) Ċ infix Ġfun ĠUint . div Assign ( b : ĠVec 3 ui ) Ġ= Ġdiv ( b , Ġthis , Ġthis , Ġthis , Ġb ) Ċ Ċ infix Ġoperator Ġfun ĠUint . rem ( b : ĠVec 3 ui ) Ġ= Ġrem ( Vec 3 ui (), Ġthis , Ġthis , Ġthis , Ġb ) Ċ fun ĠUint . rem ( b : ĠVec 3 ui , Ġres : ĠVec 3 ui ) Ġ= Ġrem ( res , Ġb , Ġthis , Ġthis , Ġthis ) Ċ infix Ġfun ĠUint . rem Assign ( b : ĠVec 3 ui ) Ġ= Ġrem ( b , Ġthis , Ġthis , Ġthis , Ġb ) ĊĊ Ċ infix Ġoperator Ġfun ĠInt . plus ( b : ĠVec 3 ui ) Ġ= Ġplus ( Vec 3 ui (), Ġb , Ġthis , Ġthis , Ġthis ) Ċ fun ĠInt . plus ( b : ĠVec 3 ui , Ġres : ĠVec 3 ui ) Ġ= Ġplus ( res , Ġb , Ġthis , Ġthis , Ġthis ) Ċ infix Ġfun ĠInt . plus Assign ( b : ĠVec 3 ui ) Ġ= Ġplus ( b , Ġb , Ġthis , Ġthis , Ġthis ) Ċ Ċ infix Ġoperator Ġfun ĠInt . minus ( b : ĠVec 3 ui ) Ġ= Ġminus ( Vec 3 ui (), Ġthis , Ġthis , Ġthis , Ġb ) Ċ fun ĠInt . minus ( b : ĠVec 3 ui , Ġres : ĠVec 3 ui ) Ġ= Ġminus ( res , Ġb , Ġthis , Ġthis , Ġthis ) Ċ infix Ġfun ĠInt . minus Assign ( b : ĠVec 3 ui ) Ġ= Ġminus ( b , Ġthis , Ġthis , Ġthis , Ġb ) Ċ Ċ infix Ġoperator Ġfun ĠInt . times ( b : ĠVec 3 ui ) Ġ= Ġtimes ( Vec 3 ui (), Ġb , Ġthis , Ġthis , Ġthis ) Ċ fun ĠInt . times ( b : ĠVec 3 ui , Ġres : ĠVec 3 ui ) Ġ= Ġtimes ( res , Ġb , Ġthis , Ġthis , Ġthis ) Ċ infix Ġfun ĠInt . times Assign ( b : ĠVec 3 ui ) Ġ= Ġtimes ( b , Ġb , Ġthis , Ġthis , Ġthis ) Ċ Ċ infix Ġoperator Ġfun ĠInt . div ( b : ĠVec 3 ui ) Ġ= Ġdiv ( Vec 3 ui (), Ġthis , Ġthis , Ġthis , Ġb ) Ċ fun ĠInt . div ( b : ĠVec 3 ui , Ġres : ĠVec 3 ui ) Ġ= Ġdiv ( res , Ġb , Ġthis , Ġthis , Ġthis ) Ċ infix Ġfun ĠInt . div Assign ( b : ĠVec 3 ui ) Ġ= Ġdiv ( b , Ġthis , Ġthis , Ġthis , Ġb ) Ċ Ċ infix Ġoperator Ġfun ĠInt . rem ( b : ĠVec 3 ui ) Ġ= Ġrem ( Vec 3 ui (), Ġthis , Ġthis , Ġthis , Ġb ) Ċ fun ĠInt . rem ( b : ĠVec 3 ui , Ġres : ĠVec 3 ui ) Ġ= Ġrem ( res , Ġb , Ġthis , Ġthis , Ġthis ) Ċ infix Ġfun ĠInt . rem Assign ( b : ĠVec 3 ui ) Ġ= Ġrem ( b , Ġthis , Ġthis , Ġthis , Ġb ) ĊĊ Ċ // Ġ-- ĠGeneric Ġbinary Ġarithmetic Ġoperators Ġ-- Ċ Ċ infix Ġoperator Ġfun ĠNumber . plus ( b : ĠVec 3 ui ) Ġ= Ġplus ( Vec 3 ui (), Ġb , Ġthis . i , Ġthis . i , Ġthis . i ) Ċ fun ĠNumber . plus ( b : ĠVec 3 ui , Ġres : ĠVec 3 ui ) Ġ= Ġplus ( res , Ġb , Ġthis . i , Ġthis . i , Ġthis . i ) Ċ infix Ġfun ĠNumber . plus Assign ( b : ĠVec 3 ui ) Ġ= Ġplus ( b , Ġb , Ġthis . i , Ġthis . i , Ġthis . i ) Ċ Ċ infix Ġoperator Ġfun ĠNumber . minus ( b : ĠVec 3 ui ) Ġ= Ġminus ( Vec 3 ui (), Ġthis . i , Ġthis . i , Ġthis . i , Ġb ) Ċ fun ĠNumber . minus ( b : ĠVec 3 ui , Ġres : ĠVec 3 ui ) Ġ= Ġminus ( res , Ġb , Ġthis . i , Ġthis . i , Ġthis . i ) Ċ infix Ġfun ĠNumber . minus Assign ( b : ĠVec 3 ui ) Ġ= Ġminus ( b , Ġthis . i , Ġthis . i , Ġthis . i , Ġb ) Ċ Ċ infix Ġoperator Ġfun ĠNumber . times ( b : ĠVec 3 ui ) Ġ= Ġtimes ( Vec 3 ui (), Ġb , Ġthis . i , Ġthis . i , Ġthis . i ) Ċ fun ĠNumber . times ( b : ĠVec 3 ui , Ġres : ĠVec 3 ui ) Ġ= Ġtimes ( res , Ġb , Ġthis . i , Ġthis . i , Ġthis . i ) Ċ infix Ġfun ĠNumber . times Assign ( b : ĠVec 3 ui ) Ġ= Ġtimes ( b , Ġb , Ġthis . i , Ġthis . i , Ġthis . i ) Ċ Ċ infix Ġoperator Ġfun ĠNumber . div ( b : ĠVec 3 ui ) Ġ= Ġdiv ( Vec 3 ui (), Ġthis . i , Ġthis . i , Ġthis . i , Ġb ) Ċ fun ĠNumber . div ( b : ĠVec 3 ui , Ġres : ĠVec 3 ui ) Ġ= Ġdiv ( res , Ġb , Ġthis . i , Ġthis . i , Ġthis . i ) Ċ infix Ġfun ĠNumber . div Assign ( b : ĠVec 3 ui ) Ġ= Ġdiv ( b , Ġthis . i , Ġthis . i , Ġthis . i , Ġb ) Ċ Ċ infix Ġoperator Ġfun ĠNumber . rem ( b : ĠVec 3 ui ) Ġ= Ġrem ( Vec 3 ui (), Ġthis . i , Ġthis . i , Ġthis . i , Ġb ) Ċ fun ĠNumber . rem ( b : ĠVec 3 ui , Ġres : ĠVec 3 ui ) Ġ= Ġrem ( res , Ġb , Ġthis . i , Ġthis . i , Ġthis . i ) Ċ infix Ġfun ĠNumber . rem Assign ( b : ĠVec 3 ui ) Ġ= Ġrem ( b , Ġthis . i , Ġthis . i , Ġthis . i , Ġb )