package Ġma ia . util Ċ Ċ /** Ċ Ġ* ĠThe Ġrange Ġof Ġvalues Ġan Ġindex Ġspecifying Ġa Ġbit Ġin Ġan Ġ[ Int ] Ġcan Ġtake . Ċ Ġ*/ Ċ val ĠInt . Companion . bit Index Range Ġ: ĠInt Range ĊĠĠĠ Ġget () Ġ= Ġ 0 Ġuntil ĠSIZE _ BITS Ċ Ċ /** Ċ Ġ* ĠThe Ġrange Ġof Ġvalues Ġan Ġindex Ġspecifying Ġa Ġbit Ġin Ġa Ġ[ Long ] Ġcan Ġtake . Ċ Ġ*/ Ċ val ĠLong . Companion . bit Index Range Ġ: ĠInt Range ĊĠĠĠ Ġget () Ġ= Ġ 0 Ġuntil ĠSIZE _ BITS Ċ Ċ /** Ċ Ġ* ĠChecks Ġan Ġindex Ġis Ġwithin Ġbounds . Ċ Ġ* Ċ Ġ* Ġ@ param Ġindex ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠThe Ġindex Ġto Ġcheck . Ċ Ġ* Ġ@ param Ġrange ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠThe Ġrange Ġof Ġvalues Ġthe Ġ[ index ] Ġcan Ġtake . Ċ Ġ* Ġ@ throws ĠIndex OutOfBoundsException ĠĠĠ ĠIf Ġthe Ġ[ index ] Ġis Ġnot Ġin Ġthe Ġ[ range ]. Ċ Ġ*/ Ċ fun Ġcheck Index ( index Ġ: ĠInt , Ġrange Ġ: ĠInt Range ) Ġ{ ĊĠĠĠ Ġif Ġ( index Ġ! in Ġrange ) Ġthrow Ġindex OutOfBounds ( index , Ġrange . last , Ġrange . first , Ġtrue ) Ċ } Ċ Ċ /** Ċ Ġ* ĠChecks Ġif Ġa Ġbit Ġindex Ġis Ġin Ġthe Ġrange Ġexpected Ġfor Ġan Ġ[ Int ]. Ċ Ġ* Ċ Ġ* Ġ@ param Ġbit Index ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠThe Ġbit - index Ġto Ġcheck . Ċ Ġ* Ġ@ throws ĠIndex OutOfBoundsException ĠĠĠ ĠIf Ġthe Ġ[ bit Index ] Ġis Ġnot Ġin Ġthe Ġrange Ġof Ċ Ġ* ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġallowed Ġvalues Ġfor Ġan Ġ[ Int ]. Ċ Ġ*/ Ċ fun ĠInt . Companion . check Bit Index ( bit Index Ġ: ĠInt ) Ġ{ ĊĠĠĠ Ġcheck Index ( bit Index , ĠInt . bit Index Range ) Ċ } Ċ Ċ /** Ċ Ġ* ĠChecks Ġif Ġa Ġbit Ġindex Ġis Ġin Ġthe Ġrange Ġexpected Ġfor Ġan Ġ[ Long ]. Ċ Ġ* Ċ Ġ* Ġ@ param Ġbit Index ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠThe Ġbit - index Ġto Ġcheck . Ċ Ġ* Ġ@ throws ĠIndex OutOfBoundsException ĠĠĠ ĠIf Ġthe Ġ[ bit Index ] Ġis Ġnot Ġin Ġthe Ġrange Ġof Ċ Ġ* ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġallowed Ġvalues Ġfor Ġan Ġ[ Long ]. Ċ Ġ*/ Ċ fun ĠLong . Companion . check Bit Index ( bit Index Ġ: ĠInt ) Ġ{ ĊĠĠĠ Ġcheck Index ( bit Index , ĠLong . bit Index Range ) Ċ } Ċ Ċ /** Ċ Ġ* ĠPerforms Ġthe Ġgiven Ġ[ block ] Ġof Ġcode Ġonly Ġif Ġthe Ġgiven Ġ[ index ] Ġis Ġin Ġthe Ġgiven Ċ Ġ* Ġ[ range ]. Ċ Ġ* Ċ Ġ* Ġ@ param Ġindex ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠThe Ġindex Ġto Ġcheck . Ċ Ġ* Ġ@ param Ġrange ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠThe Ġrange Ġof Ġvalues Ġthe Ġ[ index ] Ġcan Ġtake . Ċ Ġ* Ġ@ param Ġblock ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠThe Ġblock Ġto Ġperform Ġif Ġthe Ġ[ index ] Ġis Ġin Ġ[ range ]. Ċ Ġ* Ġ@ return ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠThe Ġresult Ġof Ġrunning Ġthe Ġ[ block ]. Ċ Ġ* Ġ@ throws ĠIndex OutOfBoundsException ĠĠĠ ĠIf Ġthe Ġ[ index ] Ġis Ġnot Ġin Ġthe Ġ[ range ]. Ċ Ġ* Ġ@ param ĠR ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠThe Ġreturn - type Ġof Ġthe Ġ[ block ]. Ċ Ġ*/ Ċ inline Ġfun Ġ< R > Ġwith Checked Index ( index Ġ: ĠInt , Ġrange Ġ: ĠInt Range , Ġblock Ġ: Ġ() Ġ-> ĠR ) Ġ: ĠR Ġ{ ĊĠĠĠ Ġcheck Index ( index , Ġrange ) ĊĠĠĠ Ġreturn Ġblock () Ċ } Ċ Ċ /** Ċ Ġ* ĠPerforms Ġthe Ġgiven Ġ[ block ] Ġof Ġcode Ġonly Ġif Ġthe Ġgiven Ġ[ index ] Ġis Ġin Ġrange Ġfor Ċ Ġ* Ġan Ġ[ Int ]. Ċ Ġ* Ċ Ġ* Ġ@ param Ġindex ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠThe Ġindex Ġto Ġcheck . Ċ Ġ* Ġ@ param Ġblock ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠThe Ġblock Ġto Ġperform Ġif Ġthe Ġ[ index ] Ġis Ġin Ġrange . Ċ Ġ* Ġ@ return ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠThe Ġresult Ġof Ġrunning Ġthe Ġ[ block ]. Ċ Ġ* Ġ@ throws ĠIndex OutOfBoundsException ĠĠĠ ĠIf Ġthe Ġ[ index ] Ġis Ġnot Ġin Ġrange Ġfor Ġan Ġ[ Int ]. Ċ Ġ* Ġ@ param ĠR ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠThe Ġreturn - type Ġof Ġthe Ġ[ block ]. Ċ Ġ*/ Ċ inline Ġfun Ġ< R > ĠInt . Companion . with Checked Bit Index ( index Ġ: ĠInt , Ġblock Ġ: Ġ() Ġ-> ĠR ) Ġ: ĠR Ġ{ ĊĠĠĠ ĠInt . check Bit Index ( index ) ĊĠĠĠ Ġreturn Ġblock () Ċ } Ċ Ċ /** Ċ Ġ* ĠPerforms Ġthe Ġgiven Ġ[ block ] Ġof Ġcode Ġonly Ġif Ġthe Ġgiven Ġ[ index ] Ġis Ġin Ġrange Ġfor Ċ Ġ* Ġan Ġ[ Long ]. Ċ Ġ* Ċ Ġ* Ġ@ param Ġindex ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠThe Ġindex Ġto Ġcheck . Ċ Ġ* Ġ@ param Ġblock ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠThe Ġblock Ġto Ġperform Ġif Ġthe Ġ[ index ] Ġis Ġin Ġrange . Ċ Ġ* Ġ@ return ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠThe Ġresult Ġof Ġrunning Ġthe Ġ[ block ]. Ċ Ġ* Ġ@ throws ĠIndex OutOfBoundsException ĠĠĠ ĠIf Ġthe Ġ[ index ] Ġis Ġnot Ġin Ġrange Ġfor Ġan Ġ[ Long ]. Ċ Ġ* Ġ@ param ĠR ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠThe Ġreturn - type Ġof Ġthe Ġ[ block ]. Ċ Ġ*/ Ċ inline Ġfun Ġ< R > ĠLong . Companion . with Checked Bit Index ( index Ġ: ĠInt , Ġblock Ġ: Ġ() Ġ-> ĠR ) Ġ: ĠR Ġ{ ĊĠĠĠ ĠLong . check Bit Index ( index ) ĊĠĠĠ Ġreturn Ġblock () Ċ } Ċ Ċ /** Ċ Ġ* ĠReturns Ġan Ġ[ Int ] Ġwith Ġa Ġsingle Ġone Ġat Ġthe Ġspecified Ġbit Ġposition . Ċ Ġ* Ċ Ġ* Ġ@ param Ġbit ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠThe Ġindex Ġof Ġthe Ġbit Ġto Ġreturn Ġa Ġselector Ġfor . Ċ Ġ* Ġ@ return ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAn Ġ[ Int ] Ġwith Ġa Ġsingle Ġone Ġat Ġthe Ġspecified Ċ Ġ* ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbit - position . Ċ Ġ* Ġ@ throws ĠIndex OutOfBoundsException ĠĠĠ ĠIf Ġthe Ġspecified Ġ[ bit ] Ġis Ġinvalid Ġfor Ġan Ċ Ġ* ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ[ Int ]. Ċ Ġ*/ Ċ fun ĠInt . Companion . bit Selector ( bit Ġ: ĠInt ) Ġ: ĠInt Ġ= ĠInt . with Checked Bit Index ( bit ) Ġ{ ĊĠĠĠ Ġreturn Ġ 1 Ġshl Ġbit Ċ } Ċ Ċ /** Ċ Ġ* ĠReturns Ġa Ġ[ Long ] Ġwith Ġa Ġsingle Ġone Ġat Ġthe Ġspecified Ġbit Ġposition . Ċ Ġ* Ċ Ġ* Ġ@ param Ġbit ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠThe Ġindex Ġof Ġthe Ġbit Ġto Ġreturn Ġa Ġselector Ġfor . Ċ Ġ* Ġ@ return ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠA Ġ[ Long ] Ġwith Ġa Ġsingle Ġone Ġat Ġthe Ġspecified Ċ Ġ* ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbit - position . Ċ Ġ* Ġ@ throws ĠIndex OutOfBoundsException ĠĠĠ ĠIf Ġthe Ġspecified Ġ[ bit ] Ġis Ġinvalid Ġfor Ġan Ċ Ġ* ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ[ Long ]. Ċ Ġ*/ Ċ fun ĠLong . Companion . bit Selector ( bit Ġ: ĠInt ) Ġ: ĠLong Ġ= ĠLong . with Checked Bit Index ( bit ) Ġ{ ĊĠĠĠ Ġreturn Ġ 1 L Ġshl Ġbit Ċ } Ċ Ċ /** Ċ Ġ* ĠGets Ġthe Ġstate Ġof Ġthe Ġbit Ġat Ġthe Ġspecified Ġposition . Ċ Ġ* Ċ Ġ* Ġ@ param Ġbit ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠThe Ġindex Ġof Ġthe Ġbit Ġto Ġcheck . Ċ Ġ* Ġ@ return ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTrue Ġif Ġthe Ġbit Ġis Ġa Ġone , Ġfalse Ġif Ġit Ġis Ġa Ġzero . Ċ Ġ* Ġ@ throws ĠIndex OutOfBoundsException ĠĠĠ ĠIf Ġthe Ġspecified Ġ[ bit ] Ġis Ġinvalid Ġfor Ġan Ġ[ Int ]. Ċ Ġ*/ Ċ fun ĠInt . bit State ( bit Ġ: ĠInt ) Ġ: ĠBoolean Ġ{ ĊĠĠĠ Ġreturn Ġ( Int . bit Selector ( bit ) Ġand Ġthis ) Ġ!= Ġ 0 Ċ } Ċ Ċ /** Ċ Ġ* ĠGets Ġthe Ġstate Ġof Ġthe Ġbit Ġat Ġthe Ġspecified Ġposition . Ċ Ġ* Ċ Ġ* Ġ@ param Ġbit ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠThe Ġindex Ġof Ġthe Ġbit Ġto Ġcheck . Ċ Ġ* Ġ@ return ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTrue Ġif Ġthe Ġbit Ġis Ġa Ġone , Ġfalse Ġif Ġit Ġis Ġa Ġzero . Ċ Ġ* Ġ@ throws ĠIndex OutOfBoundsException ĠĠĠ ĠIf Ġthe Ġspecified Ġ[ bit ] Ġis Ġinvalid Ġfor Ġan Ġ[ Long ]. Ċ Ġ*/ Ċ fun ĠLong . bit State ( bit Ġ: ĠInt ) Ġ: ĠBoolean Ġ{ ĊĠĠĠ Ġreturn Ġ( Long . bit Selector ( bit ) Ġand Ġthis ) Ġ!= Ġ 0 L Ċ } Ċ Ċ /** Ċ Ġ* ĠReturns Ġan Ġ[ Int ] Ġidentical Ġto Ġthis Ġone , Ġbut Ġwith Ġa Ġone Ġat Ġthe Ġspecified Ċ Ġ* Ġ[ bit ]- position . Ċ Ġ* Ċ Ġ* Ġ@ receiver ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAn Ġ[ Int ]. Ċ Ġ* Ġ@ param Ġbit ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠThe Ġindex Ġof Ġthe Ġbit Ġto Ġset . Ċ Ġ* Ġ@ return ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAn Ġ[ Int ] Ġidentical Ġto Ġthis Ġone , Ġexcept Ġwith Ġa Ċ Ġ* ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġone Ġat Ġthe Ġspecified Ġ[ bit ]- position . Ċ Ġ* Ġ@ throws ĠIndex OutOfBoundsException ĠĠĠ ĠIf Ġthe Ġspecified Ġ[ bit ] Ġis Ġinvalid Ġfor Ġan Ġ[ Int ]. Ċ Ġ*/ Ċ fun ĠInt . set Bit ( bit Ġ: ĠInt ) Ġ: ĠInt Ġ{ ĊĠĠĠ Ġreturn ĠInt . bit Selector ( bit ) Ġor Ġthis Ċ } Ċ Ċ /** Ċ Ġ* ĠReturns Ġa Ġ[ Long ] Ġidentical Ġto Ġthis Ġone , Ġbut Ġwith Ġa Ġone Ġat Ġthe Ġspecified Ċ Ġ* Ġ[ bit ]- position . Ċ Ġ* Ċ Ġ* Ġ@ receiver ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠA Ġ[ Long ]. Ċ Ġ* Ġ@ param Ġbit ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠThe Ġindex Ġof Ġthe Ġbit Ġto Ġset . Ċ Ġ* Ġ@ return ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠA Ġ[ Long ] Ġidentical Ġto Ġthis Ġone , Ġexcept Ġwith Ġa Ċ Ġ* ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġone Ġat Ġthe Ġspecified Ġ[ bit ]- position . Ċ Ġ* Ġ@ throws ĠIndex OutOfBoundsException ĠĠĠ ĠIf Ġthe Ġspecified Ġ[ bit ] Ġis Ġinvalid Ġfor Ġa Ġ[ Long ]. Ċ Ġ*/ Ċ fun ĠLong . set Bit ( bit Ġ: ĠInt ) Ġ: ĠLong Ġ{ ĊĠĠĠ Ġreturn ĠLong . bit Selector ( bit ) Ġor Ġthis Ċ } Ċ Ċ /** Ċ Ġ* ĠReturns Ġan Ġ[ Int ] Ġidentical Ġto Ġthis Ġone , Ġbut Ġwith Ġa Ġzero Ġat Ġthe Ġspecified Ċ Ġ* Ġ[ bit ]- position . Ċ Ġ* Ċ Ġ* Ġ@ receiver ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAn Ġ[ Int ]. Ċ Ġ* Ġ@ param Ġbit ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠThe Ġindex Ġof Ġthe Ġbit Ġto Ġclear . Ċ Ġ* Ġ@ return ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAn Ġ[ Int ] Ġidentical Ġto Ġthis Ġone , Ġexcept Ġwith Ġa Ċ Ġ* ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġzero Ġat Ġthe Ġspecified Ġ[ bit ]- position . Ċ Ġ* Ġ@ throws ĠIndex OutOfBoundsException ĠĠĠ ĠIf Ġthe Ġspecified Ġ[ bit ] Ġis Ġinvalid Ġfor Ġan Ġ[ Int ]. Ċ Ġ*/ Ċ fun ĠInt . clear Bit ( bit Ġ: ĠInt ) Ġ: ĠInt Ġ{ ĊĠĠĠ Ġreturn ĠInt . bit Selector ( bit ). inv () Ġand Ġthis Ċ } Ċ Ċ /** Ċ Ġ* ĠReturns Ġa Ġ[ Long ] Ġidentical Ġto Ġthis Ġone , Ġbut Ġwith Ġa Ġzero Ġat Ġthe Ġspecified Ċ Ġ* Ġ[ bit ]- position . Ċ Ġ* Ċ Ġ* Ġ@ receiver ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠA Ġ[ Long ]. Ċ Ġ* Ġ@ param Ġbit ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠThe Ġindex Ġof Ġthe Ġbit Ġto Ġclear . Ċ Ġ* Ġ@ return ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠA Ġ[ Long ] Ġidentical Ġto Ġthis Ġone , Ġexcept Ġwith Ġa Ċ Ġ* ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġzero Ġat Ġthe Ġspecified Ġ[ bit ]- position . Ċ Ġ* Ġ@ throws ĠIndex OutOfBoundsException ĠĠĠ ĠIf Ġthe Ġspecified Ġ[ bit ] Ġis Ġinvalid Ġfor Ġa Ġ[ Long ]. Ċ Ġ*/ Ċ fun ĠLong . clear Bit ( bit Ġ: ĠInt ) Ġ: ĠLong Ġ{ ĊĠĠĠ Ġreturn ĠLong . bit Selector ( bit ). inv () Ġand Ġthis Ċ } Ċ Ċ /** Ċ Ġ* ĠReturns Ġan Ġ[ Int ] Ġidentical Ġto Ġthis Ġone , Ġbut Ġwith Ġthe Ġbit Ġat Ġthe Ġspecified Ġ[ bit ]- position Ċ Ġ* Ġset Ġto Ġthe Ġgiven Ġ[ state ]. Ċ Ġ* Ċ Ġ* Ġ@ receiver ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAn Ġ[ Int ]. Ċ Ġ* Ġ@ param Ġbit ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠThe Ġindex Ġof Ġthe Ġbit Ġto Ġmodify . Ċ Ġ* Ġ@ param Ġstate ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠThe Ġstate Ġto Ġset Ġthe Ġ[ bit ] Ġto . Ċ Ġ* Ġ@ return ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAn Ġ[ Int ] Ġidentical Ġto Ġthis Ġone , Ġexcept Ġwith Ċ Ġ* ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthe Ġspecified Ġ[ bit ]- position Ġmodified Ġto Ġthe Ġgiven Ġ[ state ]. Ċ Ġ* Ġ@ throws ĠIndex OutOfBoundsException ĠĠĠ ĠIf Ġthe Ġspecified Ġ[ bit ] Ġis Ġinvalid Ġfor Ġan Ġ[ Int ]. Ċ Ġ*/ Ċ fun ĠInt . modify Bit ( bit Ġ: ĠInt , Ġstate Ġ: ĠBoolean ) Ġ: ĠInt Ġ{ ĊĠĠĠ Ġreturn Ġif Ġ( state ) Ġset Bit ( bit ) Ġelse Ġclear Bit ( bit ) Ċ } Ċ Ċ /** Ċ Ġ* ĠReturns Ġa Ġ[ Long ] Ġidentical Ġto Ġthis Ġone , Ġbut Ġwith Ġthe Ġbit Ġat Ġthe Ġspecified Ġ[ bit ]- position Ċ Ġ* Ġset Ġto Ġthe Ġgiven Ġ[ state ]. Ċ Ġ* Ċ Ġ* Ġ@ receiver ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠA Ġ[ Long ]. Ċ Ġ* Ġ@ param Ġbit ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠThe Ġindex Ġof Ġthe Ġbit Ġto Ġmodify . Ċ Ġ* Ġ@ param Ġstate ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠThe Ġstate Ġto Ġset Ġthe Ġ[ bit ] Ġto . Ċ Ġ* Ġ@ return ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠA Ġ[ Long ] Ġidentical Ġto Ġthis Ġone , Ġexcept Ġwith Ċ Ġ* ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthe Ġspecified Ġ[ bit ]- position Ġmodified Ġto Ġthe Ġgiven Ġ[ state ]. Ċ Ġ* Ġ@ throws ĠIndex OutOfBoundsException ĠĠĠ ĠIf Ġthe Ġspecified Ġ[ bit ] Ġis Ġinvalid Ġfor Ġa Ġ[ Long ]. Ċ Ġ*/ Ċ fun ĠLong . modify Bit ( bit Ġ: ĠInt , Ġstate Ġ: ĠBoolean ) Ġ: ĠLong Ġ{ ĊĠĠĠ Ġreturn Ġif Ġ( state ) Ġset Bit ( bit ) Ġelse Ġclear Bit ( bit ) Ċ } Ċ Ċ /** ĠThe Ġsign Ġof Ġthe Ġinteger . Ġ*/ Ċ val ĠInt . sign Ġ: ĠInt ĊĠĠĠ Ġget () Ġ= Ġif Ġ( this Ġ< Ġ 0 ) Ġ- 1 Ġelse Ġif Ġ( this Ġ> Ġ 0 ) Ġ 1 Ġelse Ġ 0 Ċ Ċ /** ĠThe Ġsign Ġof Ġthis Ġlong . Ġ*/ Ċ val ĠLong . sign Ġ: ĠInt ĊĠĠĠ Ġget () Ġ= Ġif Ġ( this Ġ< Ġ 0 L ) Ġ- 1 Ġelse Ġif Ġ( this Ġ> Ġ 0 L ) Ġ 1 Ġelse Ġ 0 Ċ