package Ġglm _. vec 1 . operators Ċ Ċ import Ġglm _. * Ċ import Ġglm _. vec 1 . Vec 1 us Ċ import Ġglm _. vec 1 . Vec 1 us . Companion . div Ċ import Ġglm _. vec 1 . Vec 1 us . Companion . minus Ċ import Ġglm _. vec 1 . Vec 1 us . Companion . plus Ċ import Ġglm _. vec 1 . Vec 1 us . Companion . rem Ċ import Ġglm _. vec 1 . Vec 1 us . Companion . times Ċ import Ġunsigned .* Ċ import Ġkotlin . experimental . and Ċ import Ġkotlin . experimental . inv Ċ import Ġkotlin . experimental . or Ċ import Ġkotlin . experimental . xor Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġelect Ġon Ġ 0 9 / 1 1 / 1 6 . Ċ Ġ*/ Ċ Ċ interface Ġop Vec 1 us Ġ{ ĊĊĠĠĠ Ġfun Ġplus ( res : ĠVec 1 us , Ġa : ĠVec 1 us , Ġb X : ĠU short ): ĠVec 1 us Ġ{ ĊĠĠĠĠĠĠĠ Ġres . x . v Ġ= Ġ( a . x . v Ġ+ Ġb X . v ). s ĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġplus ( res : ĠVec 1 us , Ġa : ĠVec 1 us , Ġb X : ĠShort ): ĠVec 1 us Ġ{ ĊĠĠĠĠĠĠĠ Ġres . x . v Ġ= Ġ( a . x . v Ġ+ Ġb X ). s ĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġplus ( res : ĠVec 1 us , Ġa : ĠVec 1 us , Ġb X : ĠInt ): ĠVec 1 us Ġ{ ĊĠĠĠĠĠĠĠ Ġres . x . v Ġ= Ġ( a . x . v Ġ+ Ġb X ). s ĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġminus ( res : ĠVec 1 us , Ġa : ĠVec 1 us , Ġb X : ĠU short ): ĠVec 1 us Ġ{ ĊĠĠĠĠĠĠĠ Ġres . x . v Ġ= Ġ( a . x . v Ġ- Ġb X . v ). s ĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġminus ( res : ĠVec 1 us , Ġa : ĠVec 1 us , Ġb X : ĠShort ): ĠVec 1 us Ġ{ ĊĠĠĠĠĠĠĠ Ġres . x . v Ġ= Ġ( a . x . v Ġ- Ġb X ). s ĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġminus ( res : ĠVec 1 us , Ġa : ĠVec 1 us , Ġb X : ĠInt ): ĠVec 1 us Ġ{ ĊĠĠĠĠĠĠĠ Ġres . x . v Ġ= Ġ( a . x . v Ġ- Ġb X ). s ĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġminus ( res : ĠVec 1 us , Ġa X : ĠU short , Ġb : ĠVec 1 us ): ĠVec 1 us Ġ{ ĊĠĠĠĠĠĠĠ Ġres . x . v Ġ= Ġ( a X . v Ġ- Ġb . x . v ). s ĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġminus ( res : ĠVec 1 us , Ġa X : ĠShort , Ġb : ĠVec 1 us ): ĠVec 1 us Ġ{ ĊĠĠĠĠĠĠĠ Ġres . x . v Ġ= Ġ( a X Ġ- Ġb . x . v ). s ĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġminus ( res : ĠVec 1 us , Ġa X : ĠInt , Ġb : ĠVec 1 us ): ĠVec 1 us Ġ{ ĊĠĠĠĠĠĠĠ Ġres . x . v Ġ= Ġ( a X Ġ- Ġb . x . v ). s ĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġtimes ( res : ĠVec 1 us , Ġa : ĠVec 1 us , Ġb X : ĠU short ): ĠVec 1 us Ġ{ ĊĠĠĠĠĠĠĠ Ġres . x . v Ġ= Ġ( a . x . v Ġ* Ġb X . v ). s ĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġtimes ( res : ĠVec 1 us , Ġa : ĠVec 1 us , Ġb X : ĠShort ): ĠVec 1 us Ġ{ ĊĠĠĠĠĠĠĠ Ġres . x . v Ġ= Ġ( a . x . v Ġ* Ġb X ). s ĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġtimes ( res : ĠVec 1 us , Ġa : ĠVec 1 us , Ġb X : ĠInt ): ĠVec 1 us Ġ{ ĊĠĠĠĠĠĠĠ Ġres . x . v Ġ= Ġ( a . x . v Ġ* Ġb X ). s ĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdiv ( res : ĠVec 1 us , Ġa : ĠVec 1 us , Ġb X : ĠU short ): ĠVec 1 us Ġ{ ĊĠĠĠĠĠĠĠ Ġres . x . v Ġ= Ġa . x . v Ġu div Ġb X . v ĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdiv ( res : ĠVec 1 us , Ġa : ĠVec 1 us , Ġb X : ĠShort ): ĠVec 1 us Ġ{ ĊĠĠĠĠĠĠĠ Ġres . x . v Ġ= Ġa . x . v Ġu div Ġb X ĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdiv ( res : ĠVec 1 us , Ġa : ĠVec 1 us , Ġb X : ĠInt ): ĠVec 1 us Ġ{ ĊĠĠĠĠĠĠĠ Ġres . x . v Ġ= Ġa . x . v Ġu div Ġb X ĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdiv ( res : ĠVec 1 us , Ġa X : ĠU short , Ġb : ĠVec 1 us ): ĠVec 1 us Ġ{ ĊĠĠĠĠĠĠĠ Ġres . x . v Ġ= Ġa X . v Ġu div Ġb . x . v ĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdiv ( res : ĠVec 1 us , Ġa X : ĠShort , Ġb : ĠVec 1 us ): ĠVec 1 us Ġ{ ĊĠĠĠĠĠĠĠ Ġres . x . v Ġ= Ġa X Ġu div Ġb . x . v ĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdiv ( res : ĠVec 1 us , Ġa X : ĠInt , Ġb : ĠVec 1 us ): ĠVec 1 us Ġ{ ĊĠĠĠĠĠĠĠ Ġres . x . v Ġ= Ġ( a X Ġu div Ġb . x . v ). s ĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġrem ( res : ĠVec 1 us , Ġa : ĠVec 1 us , Ġb X : ĠU short ): ĠVec 1 us Ġ{ ĊĠĠĠĠĠĠĠ Ġres . x . v Ġ= Ġa . x . v Ġ ure m Ġb X . v ĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġrem ( res : ĠVec 1 us , Ġa : ĠVec 1 us , Ġb X : ĠShort ): ĠVec 1 us Ġ{ ĊĠĠĠĠĠĠĠ Ġres . x . v Ġ= Ġa . x . v Ġ ure m Ġb X ĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġrem ( res : ĠVec 1 us , Ġa : ĠVec 1 us , Ġb X : ĠInt ): ĠVec 1 us Ġ{ ĊĠĠĠĠĠĠĠ Ġres . x . v Ġ= Ġa . x . v Ġ ure m Ġb X ĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġrem ( res : ĠVec 1 us , Ġa X : ĠU short , Ġb : ĠVec 1 us ): ĠVec 1 us Ġ{ ĊĠĠĠĠĠĠĠ Ġres . x . v Ġ= Ġa X . v Ġ ure m Ġb . x . v ĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġrem ( res : ĠVec 1 us , Ġa X : ĠShort , Ġb : ĠVec 1 us ): ĠVec 1 us Ġ{ ĊĠĠĠĠĠĠĠ Ġres . x . v Ġ= Ġa X Ġ ure m Ġb . x . v ĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġrem ( res : ĠVec 1 us , Ġa X : ĠInt , Ġb : ĠVec 1 us ): ĠVec 1 us Ġ{ ĊĠĠĠĠĠĠĠ Ġres . x . v Ġ= Ġ( a X Ġ ure m Ġb . x . v ). s ĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġand ( res : ĠVec 1 us , Ġa : ĠVec 1 us , Ġb X : ĠU short ): ĠVec 1 us Ġ{ ĊĠĠĠĠĠĠĠ Ġres . x . v Ġ= Ġa . x . v Ġand Ġb X . v ĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġand ( res : ĠVec 1 us , Ġa : ĠVec 1 us , Ġb X : ĠShort ): ĠVec 1 us Ġ{ ĊĠĠĠĠĠĠĠ Ġres . x . v Ġ= Ġa . x . v Ġand Ġb X ĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġand ( res : ĠVec 1 us , Ġa : ĠVec 1 us , Ġb X : ĠInt ): ĠVec 1 us Ġ{ ĊĠĠĠĠĠĠĠ Ġres . x . v Ġ= Ġa . x . v Ġand Ġb X ĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġor ( res : ĠVec 1 us , Ġa : ĠVec 1 us , Ġb X : ĠU short ): ĠVec 1 us Ġ{ ĊĠĠĠĠĠĠĠ Ġres . x . v Ġ= Ġa . x . v Ġor Ġb X ĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġor ( res : ĠVec 1 us , Ġa : ĠVec 1 us , Ġb X : ĠShort ): ĠVec 1 us Ġ{ ĊĠĠĠĠĠĠĠ Ġres . x . v Ġ= Ġa . x . v Ġor Ġb X ĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġor ( res : ĠVec 1 us , Ġa : ĠVec 1 us , Ġb X : ĠInt ): ĠVec 1 us Ġ{ ĊĠĠĠĠĠĠĠ Ġres . x . v Ġ= Ġa . x . v Ġor Ġb X ĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġxor ( res : ĠVec 1 us , Ġa : ĠVec 1 us , Ġb X : ĠU short ): ĠVec 1 us Ġ{ ĊĠĠĠĠĠĠĠ Ġres . x . v Ġ= Ġa . x . v Ġxor Ġb X ĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġxor ( res : ĠVec 1 us , Ġa : ĠVec 1 us , Ġb X : ĠShort ): ĠVec 1 us Ġ{ ĊĠĠĠĠĠĠĠ Ġres . x . v Ġ= Ġa . x . v Ġxor Ġb X ĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġxor ( res : ĠVec 1 us , Ġa : ĠVec 1 us , Ġb X : ĠInt ): ĠVec 1 us Ġ{ ĊĠĠĠĠĠĠĠ Ġres . x . v Ġ= Ġa . x . v Ġxor Ġb X ĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġshl ( res : ĠVec 1 us , Ġa : ĠVec 1 us , Ġb X : ĠU short ): ĠVec 1 us Ġ{ ĊĠĠĠĠĠĠĠ Ġres . x . v Ġ= Ġa . x . v Ġshl Ġb X ĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġshl ( res : ĠVec 1 us , Ġa : ĠVec 1 us , Ġb X : ĠShort ): ĠVec 1 us Ġ{ ĊĠĠĠĠĠĠĠ Ġres . x . v Ġ= Ġa . x . v Ġshl Ġb X ĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġshl ( res : ĠVec 1 us , Ġa : ĠVec 1 us , Ġb X : ĠInt ): ĠVec 1 us Ġ{ ĊĠĠĠĠĠĠĠ Ġres . x . v Ġ= Ġa . x . v Ġshl Ġb X ĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġshr ( res : ĠVec 1 us , Ġa : ĠVec 1 us , Ġb X : ĠU short ): ĠVec 1 us Ġ{ ĊĠĠĠĠĠĠĠ Ġres . x . v Ġ= Ġa . x . v Ġ ush r Ġb X . v ĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġshr ( res : ĠVec 1 us , Ġa : ĠVec 1 us , Ġb X : ĠShort ): ĠVec 1 us Ġ{ ĊĠĠĠĠĠĠĠ Ġres . x . v Ġ= Ġa . x . v Ġ ush r Ġb X ĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġshr ( res : ĠVec 1 us , Ġa : ĠVec 1 us , Ġb X : ĠInt ): ĠVec 1 us Ġ{ ĊĠĠĠĠĠĠĠ Ġres . x . v Ġ= Ġa . x . v Ġ ush r Ġb X ĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġinv ( res : ĠVec 1 us , Ġa : ĠVec 1 us ): ĠVec 1 us Ġ{ ĊĠĠĠĠĠĠĠ Ġres . x . v Ġ= Ġa . x . v . inv () ĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} Ċ } ĊĊ Ċ // Ġ-- ĠSpecific Ġbinary Ġarithmetic Ġoperators Ġ-- Ċ Ċ infix Ġoperator Ġfun ĠU short . plus ( b : ĠVec 1 us ) Ġ= Ġplus ( Vec 1 us (), Ġb , Ġthis ) Ċ fun ĠU short . plus ( b : ĠVec 1 us , Ġres : ĠVec 1 us ) Ġ= Ġplus ( res , Ġb , Ġthis ) Ċ infix Ġfun ĠU short . plus Assign ( b : ĠVec 1 us ) Ġ= Ġplus ( b , Ġb , Ġthis ) Ċ Ċ infix Ġoperator Ġfun ĠU short . minus ( b : ĠVec 1 us ) Ġ= Ġminus ( Vec 1 us (), Ġthis , Ġb ) Ċ fun ĠU short . minus ( b : ĠVec 1 us , Ġres : ĠVec 1 us ) Ġ= Ġminus ( res , Ġthis , Ġb ) Ċ infix Ġfun ĠU short . minus Assign ( b : ĠVec 1 us ) Ġ= Ġminus ( b , Ġthis , Ġb ) Ċ Ċ infix Ġoperator Ġfun ĠU short . times ( b : ĠVec 1 us ) Ġ= Ġtimes ( Vec 1 us (), Ġb , Ġthis ) Ċ fun ĠU short . times ( b : ĠVec 1 us , Ġres : ĠVec 1 us ) Ġ= Ġtimes ( res , Ġb , Ġthis ) Ċ infix Ġfun ĠU short . times Assign ( b : ĠVec 1 us ) Ġ= Ġtimes ( b , Ġb , Ġthis ) Ċ Ċ infix Ġoperator Ġfun ĠU short . div ( b : ĠVec 1 us ) Ġ= Ġdiv ( Vec 1 us (), Ġthis , Ġb ) Ċ fun ĠU short . div ( b : ĠVec 1 us , Ġres : ĠVec 1 us ) Ġ= Ġdiv ( res , Ġthis , Ġb ) Ċ infix Ġfun ĠU short . div Assign ( b : ĠVec 1 us ) Ġ= Ġdiv ( b , Ġthis , Ġb ) Ċ Ċ infix Ġoperator Ġfun ĠU short . rem ( b : ĠVec 1 us ) Ġ= Ġrem ( Vec 1 us (), Ġthis , Ġb ) Ċ fun ĠU short . rem ( b : ĠVec 1 us , Ġres : ĠVec 1 us ) Ġ= Ġrem ( res , Ġthis , Ġb ) Ċ infix Ġfun ĠU short . rem Assign ( b : ĠVec 1 us ) Ġ= Ġrem ( b , Ġthis , Ġb ) ĊĊ Ċ infix Ġoperator Ġfun ĠShort . plus ( b : ĠVec 1 us ) Ġ= Ġplus ( Vec 1 us (), Ġb , Ġthis ) Ċ fun ĠShort . plus ( b : ĠVec 1 us , Ġres : ĠVec 1 us ) Ġ= Ġplus ( res , Ġb , Ġthis ) Ċ infix Ġfun ĠShort . plus Assign ( b : ĠVec 1 us ) Ġ= Ġplus ( b , Ġb , Ġthis ) Ċ Ċ infix Ġoperator Ġfun ĠShort . minus ( b : ĠVec 1 us ) Ġ= Ġminus ( Vec 1 us (), Ġthis , Ġb ) Ċ fun ĠShort . minus ( b : ĠVec 1 us , Ġres : ĠVec 1 us ) Ġ= Ġminus ( res , Ġthis , Ġb ) Ċ infix Ġfun ĠShort . minus Assign ( b : ĠVec 1 us ) Ġ= Ġminus ( b , Ġthis , Ġb ) Ċ Ċ infix Ġoperator Ġfun ĠShort . times ( b : ĠVec 1 us ) Ġ= Ġtimes ( Vec 1 us (), Ġb , Ġthis ) Ċ fun ĠShort . times ( b : ĠVec 1 us , Ġres : ĠVec 1 us ) Ġ= Ġtimes ( res , Ġb , Ġthis ) Ċ infix Ġfun ĠShort . times Assign ( b : ĠVec 1 us ) Ġ= Ġtimes ( b , Ġb , Ġthis ) Ċ Ċ infix Ġoperator Ġfun ĠShort . div ( b : ĠVec 1 us ) Ġ= Ġdiv ( Vec 1 us (), Ġthis , Ġb ) Ċ fun ĠShort . div ( b : ĠVec 1 us , Ġres : ĠVec 1 us ) Ġ= Ġdiv ( res , Ġthis , Ġb ) Ċ infix Ġfun ĠShort . div Assign ( b : ĠVec 1 us ) Ġ= Ġdiv ( b , Ġthis , Ġb ) Ċ Ċ infix Ġoperator Ġfun ĠShort . rem ( b : ĠVec 1 us ) Ġ= Ġrem ( Vec 1 us (), Ġthis , Ġb ) Ċ fun ĠShort . rem ( b : ĠVec 1 us , Ġres : ĠVec 1 us ) Ġ= Ġrem ( res , Ġthis , Ġb ) Ċ infix Ġfun ĠShort . rem Assign ( b : ĠVec 1 us ) Ġ= Ġrem ( b , Ġthis , Ġb ) ĊĊ Ċ infix Ġoperator Ġfun ĠInt . plus ( b : ĠVec 1 us ) Ġ= Ġplus ( Vec 1 us (), Ġb , Ġthis ) Ċ fun ĠInt . plus ( b : ĠVec 1 us , Ġres : ĠVec 1 us ) Ġ= Ġplus ( res , Ġb , Ġthis ) Ċ infix Ġfun ĠInt . plus Assign ( b : ĠVec 1 us ) Ġ= Ġplus ( b , Ġb , Ġthis ) Ċ Ċ infix Ġoperator Ġfun ĠInt . minus ( b : ĠVec 1 us ) Ġ= Ġminus ( Vec 1 us (), Ġthis , Ġb ) Ċ fun ĠInt . minus ( b : ĠVec 1 us , Ġres : ĠVec 1 us ) Ġ= Ġminus ( res , Ġthis , Ġb ) Ċ infix Ġfun ĠInt . minus Assign ( b : ĠVec 1 us ) Ġ= Ġminus ( b , Ġthis , Ġb ) Ċ Ċ infix Ġoperator Ġfun ĠInt . times ( b : ĠVec 1 us ) Ġ= Ġtimes ( Vec 1 us (), Ġb , Ġthis ) Ċ fun ĠInt . times ( b : ĠVec 1 us , Ġres : ĠVec 1 us ) Ġ= Ġtimes ( res , Ġb , Ġthis ) Ċ infix Ġfun ĠInt . times Assign ( b : ĠVec 1 us ) Ġ= Ġtimes ( b , Ġb , Ġthis ) Ċ Ċ infix Ġoperator Ġfun ĠInt . div ( b : ĠVec 1 us ) Ġ= Ġdiv ( Vec 1 us (), Ġthis , Ġb ) Ċ fun ĠInt . div ( b : ĠVec 1 us , Ġres : ĠVec 1 us ) Ġ= Ġdiv ( res , Ġthis , Ġb ) Ċ infix Ġfun ĠInt . div Assign ( b : ĠVec 1 us ) Ġ= Ġdiv ( b , Ġthis , Ġb ) Ċ Ċ infix Ġoperator Ġfun ĠInt . rem ( b : ĠVec 1 us ) Ġ= Ġrem ( Vec 1 us (), Ġthis , Ġb ) Ċ fun ĠInt . rem ( b : ĠVec 1 us , Ġres : ĠVec 1 us ) Ġ= Ġrem ( res , Ġthis , Ġb ) Ċ infix Ġfun ĠInt . rem Assign ( b : ĠVec 1 us ) Ġ= Ġrem ( b , Ġthis , Ġb ) ĊĊ Ċ // Ġ-- ĠGeneric Ġbinary Ġarithmetic Ġoperators Ġ-- Ċ Ċ infix Ġoperator Ġfun ĠNumber . plus ( b : ĠVec 1 us ) Ġ= Ġplus ( Vec 1 us (), Ġb , Ġthis . i ) Ċ fun ĠNumber . plus ( b : ĠVec 1 us , Ġres : ĠVec 1 us ) Ġ= Ġplus ( res , Ġb , Ġthis . i ) Ċ infix Ġfun ĠNumber . plus Assign ( b : ĠVec 1 us ) Ġ= Ġplus ( b , Ġb , Ġthis . i ) Ċ Ċ infix Ġoperator Ġfun ĠNumber . minus ( b : ĠVec 1 us ) Ġ= Ġminus ( Vec 1 us (), Ġthis . i , Ġb ) Ċ fun ĠNumber . minus ( b : ĠVec 1 us , Ġres : ĠVec 1 us ) Ġ= Ġminus ( res , Ġthis . i , Ġb ) Ċ infix Ġfun ĠNumber . minus Assign ( b : ĠVec 1 us ) Ġ= Ġminus ( b , Ġthis . i , Ġb ) Ċ Ċ infix Ġoperator Ġfun ĠNumber . times ( b : ĠVec 1 us ) Ġ= Ġtimes ( Vec 1 us (), Ġb , Ġthis . i ) Ċ fun ĠNumber . times ( b : ĠVec 1 us , Ġres : ĠVec 1 us ) Ġ= Ġtimes ( res , Ġb , Ġthis . i ) Ċ infix Ġfun ĠNumber . times Assign ( b : ĠVec 1 us ) Ġ= Ġtimes ( b , Ġb , Ġthis . i ) Ċ Ċ infix Ġoperator Ġfun ĠNumber . div ( b : ĠVec 1 us ) Ġ= Ġdiv ( Vec 1 us (), Ġthis . i , Ġb ) Ċ fun ĠNumber . div ( b : ĠVec 1 us , Ġres : ĠVec 1 us ) Ġ= Ġdiv ( res , Ġthis . i , Ġb ) Ċ infix Ġfun ĠNumber . div Assign ( b : ĠVec 1 us ) Ġ= Ġdiv ( b , Ġthis . i , Ġb ) Ċ Ċ infix Ġoperator Ġfun ĠNumber . rem ( b : ĠVec 1 us ) Ġ= Ġrem ( Vec 1 us (), Ġthis . i , Ġb ) Ċ fun ĠNumber . rem ( b : ĠVec 1 us , Ġres : ĠVec 1 us ) Ġ= Ġrem ( res , Ġthis . i , Ġb ) Ċ infix Ġfun ĠNumber . rem Assign ( b : ĠVec 1 us ) Ġ= Ġrem ( b , Ġthis . i , Ġb )