@ file : Jvm Name (" Array Ext ") Ċ package Ġcom . ole k dia . common . extensions Ċ Ċ import Ġcom . ole k dia . common . INVALID Ċ import Ġkotlin . jvm . Jvm Name Ċ Ċ //---------------------------------------------------------------- -------------------------------- -- Ċ // Ġ Ġbinary Search Ċ //---------------------------------------------------------------- -------------------------------- -- Ċ Ċ /** Ċ Ġ* ĠS ear ches Ġa Ġrange Ġof Ġthe Ġspecified Ġarray Ġof Ġlong s Ġfor Ġthe Ġspecified Ġvalue Ċ Ġ* Ġusing Ġthe Ġbinary Ġsearch Ġalgorithm . Ċ Ġ* ĠThe Ġrange Ġmust Ġbe Ġsorted Ġprior Ġto Ġmaking Ġthis Ġcall . Ċ Ġ* ĠIf Ġit Ġis Ġnot Ġsorted , Ġthe Ġresults Ġare Ġundefined . ĠIf Ġthe Ġrange Ġcontains Ġmultiple Ġelements Ċ Ġ* Ġwith Ġthe Ġspecified Ġvalue , Ġthere Ġis Ġno Ġguarantee Ġwhich Ġone Ġwill Ġbe Ġfound . Ċ Ġ* Ċ Ġ* Ġ@ param Ġelement Ġthe Ġvalue Ġto Ġbe Ġsearched Ġfor Ċ Ġ* Ġ@ param Ġfrom Index Ġthe Ġindex Ġof Ġthe Ġfirst Ġelement Ġ( inclusive ) Ġto Ġbe Ġsearched Ċ Ġ* Ġ@ param Ġto Index Ġthe Ġindex Ġof Ġthe Ġlast Ġelement Ġ( exclusive ) Ġto Ġbe Ġsearched Ċ Ġ* Ġ@ return Ġindex Ġof Ġthe Ġsearch Ġelement , Ġif Ġit Ġis Ġcontained Ġin Ġthe Ġarray Ġwithin Ġthe Ġspecified Ġrange ; Ċ Ġ* Ġ Ġotherwise , Ġ< tt >( -( < i > insertion Ġpoint </ i >) Ġ- Ġ 1 )</ tt >. ĠThe Ġ< i > insertion Ġpoint </ i > Ġis Ġdefined Ġas Ċ Ġ* Ġ Ġthe Ġpoint Ġat Ġwhich Ġthe Ġelement Ġwould Ġbe Ġinserted Ġinto Ġthe Ġarray : Ċ Ġ* Ġ Ġthe Ġindex Ġof Ġthe Ġfirst Ġelement Ġin Ġthe Ġrange Ġgreater Ġthan Ġthe Ġspecified Ġelement , Ġor Ġ< tt > to Index </ tt > Ċ Ġ* Ġ Ġif Ġall Ġelements Ġin Ġthe Ġrange Ġare Ġless Ġthan Ġthe Ġspecified Ġelement . Ċ Ġ* Ġ ĠNote Ġthat Ġthis Ġguarantees Ġthat Ġthe Ġreturn Ġvalue Ġwill Ġbe Ġ>= Ġ 0 Ġif Ġand Ġonly Ġif Ġthe Ġelement Ġis Ġfound . Ċ Ġ*/ Ċ fun ĠLong Array . binary Search ( ĊĠĠĠ Ġelement : ĠLong , ĊĠĠĠ Ġfrom Index : ĠInt Ġ= Ġ 0 , ĊĠĠĠ Ġto Index : ĠInt Ġ= Ġsize Ċ ): ĠInt Ġ{ ĊĠĠĠ Ġif Ġ( is Range Invalid ( this . size , Ġfrom Index , Ġto Index )) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠINVALID ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġlow Ġ= Ġfrom Index ĊĠĠĠĠĠĠĠ Ġvar Ġhigh Ġ= Ġto Index Ġ- Ġ 1 ĊĊĠĠĠĠĠĠĠ Ġwhile Ġ( low Ġ<= Ġhigh ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmid Ġ= Ġ( low Ġ+ Ġhigh ) Ġ ush r Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmid Val Ġ= Ġthis [ mid ] ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmid Val Ġ< Ġelement Ġ-> Ġlow Ġ= Ġmid Ġ+ Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmid Val Ġ> Ġelement Ġ-> Ġhigh Ġ= Ġmid Ġ- Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġreturn Ġmid Ġ// Ġelement Ġfound ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġ-( low Ġ+ Ġ 1 ) Ġ// Ġelement Ġnot Ġfound ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* ĠS ear ches Ġa Ġrange Ġof Ġthe Ġspecified Ġarray Ġof Ġlong s Ġfor Ġthe Ġspecified Ġvalue Ċ Ġ* Ġusing Ġthe Ġbinary Ġsearch Ġalgorithm . Ċ Ġ* ĠThe Ġrange Ġmust Ġbe Ġsorted Ġprior Ġto Ġmaking Ġthis Ġcall . Ċ Ġ* ĠIf Ġit Ġis Ġnot Ġsorted , Ġthe Ġresults Ġare Ġundefined . ĠIf Ġthe Ġrange Ġcontains Ġmultiple Ġelements Ċ Ġ* Ġwith Ġthe Ġspecified Ġvalue , Ġthere Ġis Ġno Ġguarantee Ġwhich Ġone Ġwill Ġbe Ġfound . Ċ Ġ* Ċ Ġ* Ġ@ param Ġelement Ġthe Ġvalue Ġto Ġbe Ġsearched Ġfor Ċ Ġ* Ġ@ param Ġfrom Index Ġthe Ġindex Ġof Ġthe Ġfirst Ġelement Ġ( inclusive ) Ġto Ġbe Ġsearched Ċ Ġ* Ġ@ param Ġto Index Ġthe Ġindex Ġof Ġthe Ġlast Ġelement Ġ( exclusive ) Ġto Ġbe Ġsearched Ċ Ġ* Ġ@ return Ġindex Ġof Ġthe Ġsearch Ġelement , Ġif Ġit Ġis Ġcontained Ġin Ġthe Ġarray Ġwithin Ġthe Ġspecified Ġrange ; Ċ Ġ* Ġ Ġotherwise , Ġ< tt >( -( < i > insertion Ġpoint </ i >) Ġ- Ġ 1 )</ tt >. ĠThe Ġ< i > insertion Ġpoint </ i > Ġis Ġdefined Ġas Ċ Ġ* Ġ Ġthe Ġpoint Ġat Ġwhich Ġthe Ġelement Ġwould Ġbe Ġinserted Ġinto Ġthe Ġarray : Ċ Ġ* Ġ Ġthe Ġindex Ġof Ġthe Ġfirst Ġelement Ġin Ġthe Ġrange Ġgreater Ġthan Ġthe Ġspecified Ġelement , Ġor Ġ< tt > to Index </ tt > Ċ Ġ* Ġ Ġif Ġall Ġelements Ġin Ġthe Ġrange Ġare Ġless Ġthan Ġthe Ġspecified Ġelement . Ċ Ġ* Ġ ĠNote Ġthat Ġthis Ġguarantees Ġthat Ġthe Ġreturn Ġvalue Ġwill Ġbe Ġ>= Ġ 0 Ġif Ġand Ġonly Ġif Ġthe Ġelement Ġis Ġfound . Ċ Ġ*/ Ċ fun ĠInt Array . binary Search ( ĊĠĠĠ Ġelement : ĠInt , ĊĠĠĠ Ġfrom Index : ĠInt Ġ= Ġ 0 , ĊĠĠĠ Ġto Index : ĠInt Ġ= Ġsize Ċ ): ĠInt Ġ{ ĊĠĠĠ Ġif Ġ( is Range Invalid ( this . size , Ġfrom Index , Ġto Index )) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠINVALID ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġlow Ġ= Ġfrom Index ĊĠĠĠĠĠĠĠ Ġvar Ġhigh Ġ= Ġto Index Ġ- Ġ 1 ĊĊĠĠĠĠĠĠĠ Ġwhile Ġ( low Ġ<= Ġhigh ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmid Ġ= Ġ( low Ġ+ Ġhigh ) Ġ ush r Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmid Val Ġ= Ġthis [ mid ] ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmid Val Ġ< Ġelement Ġ-> Ġlow Ġ= Ġmid Ġ+ Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmid Val Ġ> Ġelement Ġ-> Ġhigh Ġ= Ġmid Ġ- Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġreturn Ġmid Ġ// Ġelement Ġfound ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġ-( low Ġ+ Ġ 1 ) Ġ// Ġelement Ġnot Ġfound ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* ĠS ear ches Ġa Ġrange Ġof Ġthe Ġspecified Ġarray Ġof Ġlong s Ġfor Ġthe Ġspecified Ġvalue Ċ Ġ* Ġusing Ġthe Ġbinary Ġsearch Ġalgorithm . Ċ Ġ* ĠThe Ġrange Ġmust Ġbe Ġsorted Ġprior Ġto Ġmaking Ġthis Ġcall . Ċ Ġ* ĠIf Ġit Ġis Ġnot Ġsorted , Ġthe Ġresults Ġare Ġundefined . ĠIf Ġthe Ġrange Ġcontains Ġmultiple Ġelements Ċ Ġ* Ġwith Ġthe Ġspecified Ġvalue , Ġthere Ġis Ġno Ġguarantee Ġwhich Ġone Ġwill Ġbe Ġfound . Ċ Ġ* Ċ Ġ* Ġ@ param Ġelement Ġthe Ġvalue Ġto Ġbe Ġsearched Ġfor Ċ Ġ* Ġ@ param Ġfrom Index Ġthe Ġindex Ġof Ġthe Ġfirst Ġelement Ġ( inclusive ) Ġto Ġbe Ġsearched Ċ Ġ* Ġ@ param Ġto Index Ġthe Ġindex Ġof Ġthe Ġlast Ġelement Ġ( exclusive ) Ġto Ġbe Ġsearched Ċ Ġ* Ġ@ return Ġindex Ġof Ġthe Ġsearch Ġelement , Ġif Ġit Ġis Ġcontained Ġin Ġthe Ġarray Ġwithin Ġthe Ġspecified Ġrange ; Ċ Ġ* Ġ Ġotherwise , Ġ< tt >( -( < i > insertion Ġpoint </ i >) Ġ- Ġ 1 )</ tt >. ĠThe Ġ< i > insertion Ġpoint </ i > Ġis Ġdefined Ġas Ċ Ġ* Ġ Ġthe Ġpoint Ġat Ġwhich Ġthe Ġelement Ġwould Ġbe Ġinserted Ġinto Ġthe Ġarray : Ċ Ġ* Ġ Ġthe Ġindex Ġof Ġthe Ġfirst Ġelement Ġin Ġthe Ġrange Ġgreater Ġthan Ġthe Ġspecified Ġelement , Ġor Ġ< tt > to Index </ tt > Ċ Ġ* Ġ Ġif Ġall Ġelements Ġin Ġthe Ġrange Ġare Ġless Ġthan Ġthe Ġspecified Ġelement . Ċ Ġ* Ġ ĠNote Ġthat Ġthis Ġguarantees Ġthat Ġthe Ġreturn Ġvalue Ġwill Ġbe Ġ>= Ġ 0 Ġif Ġand Ġonly Ġif Ġthe Ġelement Ġis Ġfound . Ċ Ġ*/ Ċ fun ĠShort Array . binary Search ( ĊĠĠĠ Ġelement : ĠShort , ĊĠĠĠ Ġfrom Index : ĠInt Ġ= Ġ 0 , ĊĠĠĠ Ġto Index : ĠInt Ġ= Ġsize Ċ ): ĠInt Ġ{ ĊĠĠĠ Ġif Ġ( is Range Invalid ( this . size , Ġfrom Index , Ġto Index )) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠINVALID ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġlow Ġ= Ġfrom Index ĊĠĠĠĠĠĠĠ Ġvar Ġhigh Ġ= Ġto Index Ġ- Ġ 1 ĊĊĠĠĠĠĠĠĠ Ġwhile Ġ( low Ġ<= Ġhigh ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmid Ġ= Ġ( low Ġ+ Ġhigh ) Ġ ush r Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmid Val Ġ= Ġthis [ mid ] ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmid Val Ġ< Ġelement Ġ-> Ġlow Ġ= Ġmid Ġ+ Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmid Val Ġ> Ġelement Ġ-> Ġhigh Ġ= Ġmid Ġ- Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġreturn Ġmid Ġ// Ġelement Ġfound ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġ-( low Ġ+ Ġ 1 ) Ġ// Ġelement Ġnot Ġfound ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* ĠS ear ches Ġa Ġrange Ġof Ġthe Ġspecified Ġarray Ġof Ġlong s Ġfor Ġthe Ġspecified Ġvalue Ċ Ġ* Ġusing Ġthe Ġbinary Ġsearch Ġalgorithm . Ċ Ġ* ĠThe Ġrange Ġmust Ġbe Ġsorted Ġprior Ġto Ġmaking Ġthis Ġcall . Ċ Ġ* ĠIf Ġit Ġis Ġnot Ġsorted , Ġthe Ġresults Ġare Ġundefined . ĠIf Ġthe Ġrange Ġcontains Ġmultiple Ġelements Ċ Ġ* Ġwith Ġthe Ġspecified Ġvalue , Ġthere Ġis Ġno Ġguarantee Ġwhich Ġone Ġwill Ġbe Ġfound . Ċ Ġ* Ċ Ġ* Ġ@ param Ġelement Ġthe Ġvalue Ġto Ġbe Ġsearched Ġfor Ċ Ġ* Ġ@ param Ġfrom Index Ġthe Ġindex Ġof Ġthe Ġfirst Ġelement Ġ( inclusive ) Ġto Ġbe Ġsearched Ċ Ġ* Ġ@ param Ġto Index Ġthe Ġindex Ġof Ġthe Ġlast Ġelement Ġ( exclusive ) Ġto Ġbe Ġsearched Ċ Ġ* Ġ@ return Ġindex Ġof Ġthe Ġsearch Ġelement , Ġif Ġit Ġis Ġcontained Ġin Ġthe Ġarray Ġwithin Ġthe Ġspecified Ġrange ; Ċ Ġ* Ġ Ġotherwise , Ġ< tt >( -( < i > insertion Ġpoint </ i >) Ġ- Ġ 1 )</ tt >. ĠThe Ġ< i > insertion Ġpoint </ i > Ġis Ġdefined Ġas Ċ Ġ* Ġ Ġthe Ġpoint Ġat Ġwhich Ġthe Ġelement Ġwould Ġbe Ġinserted Ġinto Ġthe Ġarray : Ċ Ġ* Ġ Ġthe Ġindex Ġof Ġthe Ġfirst Ġelement Ġin Ġthe Ġrange Ġgreater Ġthan Ġthe Ġspecified Ġelement , Ġor Ġ< tt > to Index </ tt > Ċ Ġ* Ġ Ġif Ġall Ġelements Ġin Ġthe Ġrange Ġare Ġless Ġthan Ġthe Ġspecified Ġelement . Ċ Ġ* Ġ ĠNote Ġthat Ġthis Ġguarantees Ġthat Ġthe Ġreturn Ġvalue Ġwill Ġbe Ġ>= Ġ 0 Ġif Ġand Ġonly Ġif Ġthe Ġelement Ġis Ġfound . Ċ Ġ*/ Ċ fun ĠByteArray . binary Search ( ĊĠĠĠ Ġelement : ĠByte , ĊĠĠĠ Ġfrom Index : ĠInt Ġ= Ġ 0 , ĊĠĠĠ Ġto Index : ĠInt Ġ= Ġsize Ċ ): ĠInt Ġ{ ĊĠĠĠ Ġif Ġ( is Range Invalid ( this . size , Ġfrom Index , Ġto Index )) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠINVALID ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġlow Ġ= Ġfrom Index ĊĠĠĠĠĠĠĠ Ġvar Ġhigh Ġ= Ġto Index Ġ- Ġ 1 ĊĊĠĠĠĠĠĠĠ Ġwhile Ġ( low Ġ<= Ġhigh ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmid Ġ= Ġ( low Ġ+ Ġhigh ) Ġ ush r Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmid Val Ġ= Ġthis [ mid ] ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmid Val Ġ< Ġelement Ġ-> Ġlow Ġ= Ġmid Ġ+ Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmid Val Ġ> Ġelement Ġ-> Ġhigh Ġ= Ġmid Ġ- Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġreturn Ġmid Ġ// Ġelement Ġfound ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġ-( low Ġ+ Ġ 1 ) Ġ// Ġelement Ġnot Ġfound ĊĠĠĠ Ġ} Ċ } Ċ Ċ private Ġfun Ġis Range Invalid ( array Size : ĠInt , Ġfrom Index : ĠInt , Ġto Index : ĠInt ): ĠBoolean Ġ{ ĊĠĠĠ Ġif Ġ( from Index Ġ> Ġto Index ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĠĠĠ Ġif Ġ( from Index Ġ< Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĠĠĠ Ġif Ġ( to Index Ġ> Ġarray Size ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġreturn Ġfalse Ċ } Ċ Ċ //---------------------------------------------------------------- -------------------------------- -- Ċ // Ġ Ġminus Ġindex Ċ //---------------------------------------------------------------- -------------------------------- -- Ċ Ċ /** Ċ Ġ* ĠReturns Ġan Ġarray Ġcontaining Ġall Ġelements Ġof Ġthe Ġoriginal Ġarray Ġexcept Ġelement Ġat Ġ[ index ] Ċ Ġ*/ Ċ operator Ġfun ĠLong Array . minus ( index : ĠInt ): ĠLong Array Ġ= ĊĠĠĠ Ġif Ġ( index Ġ< Ġ 0 Ġ|| Ġindex Ġ>= Ġthis . size ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis Ġ+ Ġ 3 L ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ ĠLong Array ( this . size Ġ- Ġ 1 ). also Ġ{ Ġresult Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . copy Into ( result , Ġ 0 , Ġ 0 , Ġindex ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( index Ġ< Ġthis . size Ġ- Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . copy Into ( result , Ġindex , Ġindex Ġ+ Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ /** Ċ Ġ* ĠReturns Ġan Ġarray Ġcontaining Ġall Ġelements Ġof Ġthe Ġoriginal Ġarray Ġexcept Ġelement Ġat Ġ[ index ] Ċ Ġ*/ Ċ operator Ġfun ĠInt Array . minus ( index : ĠInt ): ĠInt Array Ġ= ĊĠĠĠ Ġif Ġ( index Ġ< Ġ 0 Ġ|| Ġindex Ġ>= Ġthis . size ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ ĠInt Array ( this . size Ġ- Ġ 1 ). also Ġ{ Ġresult Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . copy Into ( result , Ġ 0 , Ġ 0 , Ġindex ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( index Ġ< Ġthis . size Ġ- Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . copy Into ( result , Ġindex , Ġindex Ġ+ Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ /** Ċ Ġ* ĠReturns Ġan Ġarray Ġcontaining Ġall Ġelements Ġof Ġthe Ġoriginal Ġarray Ġexcept Ġelement Ġat Ġ[ index ] Ċ Ġ*/ Ċ operator Ġfun ĠShort Array . minus ( index : ĠInt ): ĠShort Array Ġ= ĊĠĠĠ Ġif Ġ( index Ġ< Ġ 0 Ġ|| Ġindex Ġ>= Ġthis . size ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ ĠShort Array ( this . size Ġ- Ġ 1 ). also Ġ{ Ġresult Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . copy Into ( result , Ġ 0 , Ġ 0 , Ġindex ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( index Ġ< Ġthis . size Ġ- Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . copy Into ( result , Ġindex , Ġindex Ġ+ Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ /** Ċ Ġ* ĠReturns Ġan Ġarray Ġcontaining Ġall Ġelements Ġof Ġthe Ġoriginal Ġarray Ġexcept Ġelement Ġat Ġ[ index ] Ċ Ġ*/ Ċ operator Ġfun ĠByteArray . minus ( index : ĠInt ): ĠByteArray Ġ= ĊĠĠĠ Ġif Ġ( index Ġ< Ġ 0 Ġ|| Ġindex Ġ>= Ġthis . size ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ ĠByteArray ( this . size Ġ- Ġ 1 ). also Ġ{ Ġresult Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . copy Into ( result , Ġ 0 , Ġ 0 , Ġindex ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( index Ġ< Ġthis . size Ġ- Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . copy Into ( result , Ġindex , Ġindex Ġ+ Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ /** Ċ Ġ* ĠReturns Ġan Ġarray Ġcontaining Ġall Ġelements Ġof Ġthe Ġoriginal Ġarray Ġexcept Ġelement Ġat Ġ[ index ] Ċ Ġ*/ Ċ operator Ġfun ĠFloat Array . minus ( index : ĠInt ): ĠFloat Array Ġ= ĊĠĠĠ Ġif Ġ( index Ġ< Ġ 0 Ġ|| Ġindex Ġ>= Ġthis . size ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ ĠFloat Array ( this . size Ġ- Ġ 1 ). also Ġ{ Ġresult Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . copy Into ( result , Ġ 0 , Ġ 0 , Ġindex ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( index Ġ< Ġthis . size Ġ- Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . copy Into ( result , Ġindex , Ġindex Ġ+ Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ /** Ċ Ġ* ĠReturns Ġan Ġarray Ġcontaining Ġall Ġelements Ġof Ġthe Ġoriginal Ġarray Ġexcept Ġelement Ġat Ġ[ index ] Ċ Ġ*/ Ċ operator Ġfun ĠDouble Array . minus ( index : ĠInt ): ĠDouble Array Ġ= ĊĠĠĠ Ġif Ġ( index Ġ< Ġ 0 Ġ|| Ġindex Ġ>= Ġthis . size ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ ĠDouble Array ( this . size Ġ- Ġ 1 ). also Ġ{ Ġresult Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . copy Into ( result , Ġ 0 , Ġ 0 , Ġindex ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( index Ġ< Ġthis . size Ġ- Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . copy Into ( result , Ġindex , Ġindex Ġ+ Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ /** Ċ Ġ* ĠReturns Ġan Ġarray Ġcontaining Ġall Ġelements Ġof Ġthe Ġoriginal Ġarray Ġexcept Ġelement Ġat Ġ[ index ] Ċ Ġ*/ Ċ operator Ġfun ĠBoolean Array . minus ( index : ĠInt ): ĠBoolean Array Ġ= ĊĠĠĠ Ġif Ġ( index Ġ< Ġ 0 Ġ|| Ġindex Ġ>= Ġthis . size ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ ĠBoolean Array ( this . size Ġ- Ġ 1 ). also Ġ{ Ġresult Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . copy Into ( result , Ġ 0 , Ġ 0 , Ġindex ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( index Ġ< Ġthis . size Ġ- Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . copy Into ( result , Ġindex , Ġindex Ġ+ Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ /** Ċ Ġ* ĠReturns Ġan Ġarray Ġcontaining Ġall Ġelements Ġof Ġthe Ġoriginal Ġarray Ġexcept Ġelement Ġat Ġ[ index ] Ċ Ġ*/ Ċ operator Ġfun ĠChar Array . minus ( index : ĠInt ): ĠChar Array Ġ= ĊĠĠĠ Ġif Ġ( index Ġ< Ġ 0 Ġ|| Ġindex Ġ>= Ġthis . size ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ ĠChar Array ( this . size Ġ- Ġ 1 ). also Ġ{ Ġresult Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . copy Into ( result , Ġ 0 , Ġ 0 , Ġindex ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( index Ġ< Ġthis . size Ġ- Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . copy Into ( result , Ġindex , Ġindex Ġ+ Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ /** Ċ Ġ* ĠReturns Ġan Ġarray Ġcontaining Ġall Ġelements Ġof Ġthe Ġoriginal Ġarray Ġexcept Ġelement Ġat Ġ[ index ] Ċ Ġ*/ Ċ inline Ġoperator Ġfun Ġ< re ified ĠT > ĠArray < T >. minus ( index : ĠInt ): ĠArray < T > Ġ= ĊĠĠĠ Ġif Ġ( index Ġ< Ġ 0 Ġ|| Ġindex Ġ>= Ġthis . size ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ ĠArray < T >( this . size Ġ- Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it Ġ< Ġindex ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis [ it ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis [ it Ġ+ Ġ 1 ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ}