package Ġorg . kot rix . vector Ċ Ċ import Ġorg . kot rix . matrix . Double Matrix Ċ import Ġkotlin . math . pow Ċ import Ġkotlin . math . sqrt Ċ import Ġkotlin . reflect . K Class Ċ Ċ class ĠDouble Vector Old ( length : ĠInt Ġ= Ġ 1 0 , Ġinit Block : Ġ( Int ) Ġ-> ĠDouble Ġ= Ġ{ Ġ 0 . 0 Ġ}): ĠVector Impl Old < Double >( length , Ġinit Block ), ĠNumber Vectors < Double > Ġ{ ĊĠĠĠ Ġconstructor ( length : ĠInt Ġ= Ġ 1 0 , Ġinit Value : ĠDouble ): Ġthis ( length , Ġinit Block Ġ= Ġ{ Ġinit Value Ġ}) ĊĊĠĠĠ Ġconstructor ( copy : ĠVector Impl Old < Double >): Ġthis ( copy . size , Ġinit Block Ġ= Ġ{ Ġi Ġ-> Ġcopy [ i ] Ġ}) ĊĊĠĠĠ Ġconstructor ( list : ĠList < Double >): Ġthis ( list . size , Ġinit Block Ġ= Ġ{ Ġi Ġ-> Ġlist [ i ] Ġ}) ĊĊĠĠĠ Ġsealed Ġclass ĠScope Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġactions : ĠMutable List < Scope > Ġ= Ġempty List < Scope >(). to Mutable List () ĊĊĠĠĠĠĠĠĠ Ġclass ĠBase : ĠScope () Ġ/** ĠDO ĠNOT ĠMAKE ĠS INGLE TON , ĠE ACH ĠMUST ĠHAVE ĠSE PAR ATE ĠSCO PE ĠTO ĠACCESS ĠSE PAR ATE ĠACTIONS ĠLIST Ġ**/ ĊĊĠĠĠĠĠĠĠ Ġclass ĠError ( msg : ĠString Ġ= Ġ" Illegal ĠType Ġwas Ġfound "): ĠThrowable ( msg ) ĊĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠAppend ( val Ġvalue : ĠDouble , Ġvar Ġtimes : ĠInt Ġ= Ġ 1 ): ĠScope () ĊĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠPush ( val Ġvalue : ĠDouble , Ġvar Ġtimes : ĠInt Ġ= Ġ 1 ): ĠScope () ĊĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠPut ( val Ġvalue : ĠDouble , Ġval Ġat : ĠInt , Ġvar Ġtimes : ĠInt Ġ= Ġ 1 ): ĠScope () ĊĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠRepeat ( val Ġtimes : ĠInt , Ġval Ġrepeat : ĠScope . () Ġ-> ĠScope ): ĠScope () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġrun (): ĠScope Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbase Ġ= ĠBase (). repeat () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġbase . actions ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen ( i ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠAppend Ġ-> Ġi . times Ġ= Ġthis . times ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠPush Ġ-> Ġi . times Ġ= Ġthis . times ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠPut Ġ-> Ġi . times Ġ= Ġthis . times ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠError () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġbase ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoperator Ġfun ĠNumber . not (): ĠScope Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ Scope . also Ġ{ Ġthis @ Scope . actions . add ( Append ( this . toDouble ())) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġof ( var arg Ġelements : ĠNumber ): ĠDouble Vector Old Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDouble Vector Old ( elements . size ) Ġ{ Ġi Ġ-> Ġelements [ i ]. toDouble () Ġ} ĊĊĠĠĠĠĠĠĠ Ġval ĠEMPTY : ĠDouble Vector Old ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget () Ġ= ĠDouble Vector Old ( 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġval Ġtype : ĠK Class < out ĠDouble > ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠDouble :: class ĊĊĠĠĠ Ġoverride Ġval Ġlist : ĠList < Double > ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġsuper . list ĊĊĠĠĠ Ġval Ġarray : ĠDouble Array ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġthis . toArray (). toDouble Array () ĊĊĠĠĠ Ġoverride Ġval Ġmagnitude : ĠDouble ĊĠĠĠĠĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġsum Ġ= Ġ 0 . 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġthis ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsum Ġ+= Ġi Ġ* Ġi ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġsqrt ( sum ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġplus ( other : ĠNumber Vectors < Double >): ĠDouble Vector Old Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġret Ġ= ĠDouble Vector Old ( this . size ) ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġret . size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġret [ i ] Ġ= Ġthis [ i ] Ġ+ Ġother [ i ] ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġret ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġminus ( other : ĠNumber Vectors < Double >): ĠDouble Vector Old Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġret Ġ= ĠDouble Vector Old ( this . size ) ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġret . size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġret [ i ] Ġ= Ġthis [ i ] Ġ- Ġother [ i ] ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġret ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġtimes ( other : ĠNumber Vectors < Double >): ĠDouble Vector Old Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġret Ġ= ĠDouble Vector Old ( this . size ) ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġret . size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġret [ i ] Ġ= Ġthis [ i ] Ġ* Ġother [ i ] ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġret ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdiv ( other : ĠNumber Vectors < Double >): ĠDouble Vector Old Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġret Ġ= ĠDouble Vector Old ( this . size ) ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġret . size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġret [ i ] Ġ= Ġthis [ i ] Ġ/ Ġother [ i ] ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġret ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġrem ( other : ĠNumber Vectors < Double >): ĠDouble Vector Old Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġret Ġ= ĠDouble Vector Old ( this . size ) ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġret . size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġret [ i ] Ġ= Ġthis [ i ] Ġ% Ġother [ i ] ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġret ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġpow ( other : ĠNumber Vectors < Double >): ĠDouble Vector Old Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġret Ġ= ĠDouble Vector Old ( this . size ) ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġret . size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġret [ i ] Ġ= Ġthis [ i ]. pow ( other [ i ]) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġret ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġplus Assign ( other : ĠNumber Vectors < Double >) Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġthis . size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis [ i ] Ġ+= Ġother [ i ] ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġminus Assign ( other : ĠNumber Vectors < Double >) Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġthis . size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis [ i ] Ġ-= Ġother [ i ] ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġtimes Assign ( other : ĠNumber Vectors < Double >) Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġthis . size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis [ i ] Ġ*= Ġother [ i ] ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdiv Assign ( other : ĠNumber Vectors < Double >) Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġthis . size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis [ i ] Ġ/= Ġother [ i ] ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġrem Assign ( other : ĠNumber Vectors < Double >) Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġthis . size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis [ i ] Ġ% = Ġother [ i ] ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġpow Assign ( other : ĠNumber Vectors < Double >) Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġthis . size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis [ i ] Ġ= Ġthis [ i ]. pow ( other [ i ]) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġunary Plus (): ĠDouble Vector Old Ġ= ĊĠĠĠĠĠĠĠ ĠDouble Vector Old ( this . size ) Ġ{ Ġi Ġ-> Ġ+ ( this [ i ]) Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġunary Minus (): ĠDouble Vector Old Ġ= ĊĠĠĠĠĠĠĠ ĠDouble Vector Old ( this . size ) Ġ{ Ġi Ġ-> Ġ-( this [ i ]) Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdot ( other : ĠNumber Vectors < Double >): ĠDouble Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠDouble Vector Old ( this . size ). map Indexed Ġ{ Ġindex : ĠInt , Ġ_ Ġ-> Ġthis [ index ] Ġ* Ġother [ index ] Ġ}. sum () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdot ( other : ĠInt Vector Old ): ĠDouble Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠDouble Vector Old ( this . size ). map Indexed Ġ{ Ġindex : ĠInt , Ġ_ Ġ-> Ġthis [ index ] Ġ* Ġother [ index ] Ġ}. sum () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġscalar Project ( other : ĠNumber Vectors < Double >): ĠDouble Ġ= Ġ( this . dot ( other )) Ġ/ Ġother . toDouble Vector (). magnitude ĊĊĠĠĠ Ġfun Ġscalar Project ( other : ĠInt Vector Old ): ĠDouble Ġ= Ġ( this . dot ( other )) Ġ/ Ġother . magnitude ĊĊĠĠĠ Ġoverride Ġfun Ġproject On to ( other : ĠNumber Vectors < Double >): ĠDouble Vector Old Ġ= Ġother . toDouble Vector () Ġ* Ġ( this . dot ( other ) Ġ/ Ġother . dot ( other )) ĊĊĠĠĠ Ġfun Ġproject On to ( other : ĠInt Vector Old ): ĠDouble Vector Old Ġ= Ġother . toDouble Vector () Ġ* Ġ( this . dot ( other ) Ġ/ Ġother . dot ( other )) ĊĊĠĠĠ Ġoverride Ġfun Ġcross ( other : ĠNumber Vectors < Double >): ĠDouble Vector Old Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( this . size Ġ> Ġ 3 Ġ|| Ġother . size Ġ> Ġ 3 Ġ|| Ġthis . size Ġ== Ġ 1 Ġ|| Ġother . size Ġ== Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalArgumentException (" CROSS ĠPRODUCT ĠONLY ĠDEFIN ED ĠFOR Ġ 2 - 3 D ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġret Ġ= ĠDouble Vector Old ( 3 ) ĊĠĠĠĠĠĠĠ Ġif Ġ( this . size Ġ== Ġ 2 Ġ&& Ġother . size Ġ== Ġ 2 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġret [ 0 ] Ġ= Ġthis [ 0 ] Ġ* Ġother [ 1 ] Ġ- Ġthis [ 1 ] Ġ* Ġother [ 0 ] ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( this . size Ġ== Ġ 3 Ġ&& Ġother . size Ġ== Ġ 3 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġret [ 0 ] Ġ= Ġthis [ 1 ] Ġ* Ġother [ 2 ] Ġ- Ġthis [ 2 ] Ġ* Ġother [ 1 ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġret [ 1 ] Ġ= Ġthis [ 2 ] Ġ* Ġother [ 0 ] Ġ- Ġthis [ 0 ] Ġ* Ġother [ 2 ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġret [ 2 ] Ġ= Ġthis [ 0 ] Ġ* Ġother [ 1 ] Ġ- Ġthis [ 1 ] Ġ* Ġother [ 0 ] ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġret ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġcross ( other : ĠInt Vector Old ): ĠDouble Vector Old Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( this . size Ġ> Ġ 3 Ġ|| Ġother . size Ġ> Ġ 3 Ġ|| Ġthis . size Ġ== Ġ 1 Ġ|| Ġother . size Ġ== Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalArgumentException (" CROSS ĠPRODUCT ĠONLY ĠDEFIN ED ĠFOR Ġ 2 - 3 D ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġret Ġ= ĠDouble Vector Old ( 3 ) ĊĠĠĠĠĠĠĠ Ġif Ġ( this . size Ġ== Ġ 2 Ġ&& Ġother . size Ġ== Ġ 2 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġret [ 0 ] Ġ= Ġthis [ 0 ] Ġ* Ġother [ 1 ] Ġ- Ġthis [ 1 ] Ġ* Ġother [ 0 ] ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( this . size Ġ== Ġ 3 Ġ&& Ġother . size Ġ== Ġ 3 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġret [ 0 ] Ġ= Ġthis [ 1 ] Ġ* Ġother [ 2 ] Ġ- Ġthis [ 2 ] Ġ* Ġother [ 1 ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġret [ 1 ] Ġ= Ġthis [ 2 ] Ġ* Ġother [ 0 ] Ġ- Ġthis [ 0 ] Ġ* Ġother [ 2 ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġret [ 2 ] Ġ= Ġthis [ 0 ] Ġ* Ġother [ 1 ] Ġ- Ġthis [ 1 ] Ġ* Ġother [ 0 ] ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġret ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoperator Ġfun Ġplus ( other : ĠInt Vector Old ): ĠDouble Vector Old Ġ= ĊĠĠĠĠĠĠĠ Ġthis Ġ+ Ġother . toDouble Vector () ĊĊĠĠĠ Ġoperator Ġfun Ġminus ( other : ĠInt Vector Old ): ĠDouble Vector Old Ġ= ĊĠĠĠĠĠĠĠ Ġthis Ġ- Ġother . toDouble Vector () ĊĊĠĠĠ Ġoperator Ġfun Ġtimes ( other : ĠInt Vector Old ): ĠDouble Vector Old Ġ= Ġthis Ġ* Ġother . toDouble Vector () ĊĊĠĠĠ Ġoperator Ġfun Ġdiv ( other : ĠInt Vector Old ): ĠDouble Vector Old Ġ= Ġthis Ġ/ Ġother . toDouble Vector () ĊĊĠĠĠ Ġoperator Ġfun Ġrem ( other : ĠInt Vector Old ): ĠDouble Vector Old Ġ= Ġthis Ġ% Ġother . toDouble Vector () ĊĊĠĠĠ Ġfun Ġpow ( other : ĠInt Vector Old ): ĠDouble Vector Old Ġ= Ġthis . pow ( other . toDouble Vector ()) ĊĊĠĠĠ Ġoperator Ġfun Ġplus ( other : ĠInt ): ĠDouble Vector Old Ġ= ĊĠĠĠĠĠĠĠ ĠDouble Vector Old ( this . size ). map Indexed Ġ{ Ġindex , Ġ_ Ġ-> Ġthis [ index ] Ġ+ Ġother Ġ} Ġas ĠDouble Vector Old ĊĊĠĠĠ Ġoperator Ġfun Ġplus ( other : ĠDouble ): ĠDouble Vector Old Ġ= ĊĠĠĠĠĠĠĠ ĠDouble Vector Old ( this . size ). map Indexed Ġ{ Ġindex , Ġ_ Ġ-> Ġthis [ index ] Ġ+ Ġother Ġ} Ġas ĠDouble Vector Old ĊĊĠĠĠ Ġoperator Ġfun Ġminus ( other : ĠInt ): ĠDouble Vector Old Ġ= ĊĠĠĠĠĠĠĠ ĠDouble Vector Old ( this . size ) Ġ{ Ġi Ġ-> Ġthis [ i ] Ġ- Ġother Ġ} ĊĊĠĠĠ Ġoperator Ġfun Ġminus ( other : ĠDouble ): ĠDouble Vector Old Ġ= ĊĠĠĠĠĠĠĠ ĠDouble Vector Old ( this . size ) Ġ{ Ġi Ġ-> Ġthis [ i ] Ġ- Ġother Ġ} ĊĊĠĠĠ Ġoperator Ġfun Ġtimes ( other : ĠInt ): ĠDouble Vector Old Ġ= ĊĠĠĠĠĠĠĠ Ġthis Ġ* Ġother . toDouble () ĊĊĠĠĠ Ġoperator Ġfun Ġtimes ( other : ĠDouble ): ĠDouble Vector Old Ġ= ĊĠĠĠĠĠĠĠ ĠDouble Vector Old ( this . size ) Ġ{ Ġi Ġ-> Ġthis [ i ] Ġ* Ġother Ġ} ĊĊĠĠĠ Ġoperator Ġfun Ġdiv ( other : ĠInt ): ĠDouble Vector Old Ġ= ĊĠĠĠĠĠĠĠ ĠDouble Vector Old ( this . size ) Ġ{ Ġi Ġ-> Ġthis [ i ] Ġ/ Ġother Ġ} ĊĊĠĠĠ Ġoperator Ġfun Ġdiv ( other : ĠDouble ): ĠDouble Vector Old Ġ= ĊĠĠĠĠĠĠĠ ĠDouble Vector Old ( this . size ) Ġ{ Ġi Ġ-> Ġthis [ i ] Ġ/ Ġother Ġ} ĊĊĠĠĠ Ġoperator Ġfun Ġrem ( other : ĠInt ): ĠDouble Vector Old Ġ= ĊĠĠĠĠĠĠĠ ĠDouble Vector Old ( this . size ) Ġ{ Ġi Ġ-> Ġthis [ i ] Ġ% Ġother Ġ} ĊĊĠĠĠ Ġoperator Ġfun Ġrem ( other : ĠDouble ): ĠDouble Vector Old Ġ= ĊĠĠĠĠĠĠĠ ĠDouble Vector Old ( this . size ) Ġ{ Ġi Ġ-> Ġthis [ i ] Ġ% Ġother Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġto Matrix ( as Col : ĠBoolean ): ĠDouble Matrix Ġ= ĠDouble Matrix ( this , Ġas Col ) ĊĊĠĠĠ Ġoverride Ġfun Ġto Array (): ĠArray < Double > Ġ= Ġthis . toList (). to Typed Array () ĊĊĠĠĠ Ġoverride Ġfun Ġto Int Vector (): ĠInt Vector Old Ġ= ĊĠĠĠĠĠĠĠ ĠInt Vector Old ( this . size ) Ġ{ Ġi Ġ-> Ġthis [ i ]. toInt () Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġto Double Vector (): ĠDouble Vector Old Ġ= ĠDouble Vector Old ( this ) Ċ }