package Ġdev . ent ao . kan . base . ex ĊĊ Ċ object ĠBit Ġ{ ĊĠĠĠ Ġfun Ġhas ( value : ĠInt , Ġflag : ĠInt ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvalue Ġand Ġflag Ġ!= Ġ 0 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġremove ( value : ĠInt , Ġflag : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvalue Ġand Ġflag . inv () ĊĠĠĠ Ġ} Ċ } Ċ Ċ val ĠInt . high 0 : ĠByte Ġget () Ġ= Ġ(( this Ġ ush r Ġ 2 4 ) Ġand Ġ 0 x 0 0 ff ). to Byte () Ċ val ĠInt . high 1 : ĠByte Ġget () Ġ= Ġ(( this Ġ ush r Ġ 1 6 ) Ġand Ġ 0 x 0 0 ff ). to Byte () Ċ val ĠInt . high 2 : ĠByte Ġget () Ġ= Ġ(( this Ġ ush r Ġ 8 ) Ġand Ġ 0 x 0 0 ff ). to Byte () Ċ val ĠInt . high 3 : ĠByte Ġget () Ġ= Ġ( this Ġand Ġ 0 x 0 0 ff ). to Byte () Ċ Ċ val ĠInt . low 0 : ĠByte Ġget () Ġ= Ġ( this Ġand Ġ 0 x 0 0 ff ). to Byte () Ċ val ĠInt . low 1 : ĠByte Ġget () Ġ= Ġ(( this Ġ ush r Ġ 8 ) Ġand Ġ 0 x 0 0 ff ). to Byte () Ċ val ĠInt . low 2 : ĠByte Ġget () Ġ= Ġ(( this Ġ ush r Ġ 1 6 ) Ġand Ġ 0 x 0 0 ff ). to Byte () Ċ val ĠInt . low 3 : ĠByte Ġget () Ġ= Ġ(( this Ġ ush r Ġ 2 4 ) Ġand Ġ 0 x 0 0 ff ). to Byte () ĊĊ Ċ fun ĠShort . low Byte (): ĠByte Ġ{ ĊĠĠĠ Ġreturn Ġ( this . toInt () Ġand Ġ 0 xFF ). to Byte () Ċ } Ċ Ċ fun ĠShort . high Byte (): ĠByte Ġ{ ĊĠĠĠ Ġreturn Ġ( this . toInt () Ġshr Ġ 8 ). to Byte () Ċ } ĊĊ Ċ fun ĠInt . has Bits ( bits Flag : ĠInt ): ĠBoolean Ġ{ ĊĠĠĠ Ġreturn Ġ( this Ġand Ġbits Flag ) Ġ!= Ġ 0 Ċ } Ċ Ċ fun ĠInt . remove Bits ( bits Flag : ĠInt ): ĠInt Ġ{ ĊĠĠĠ Ġreturn Ġthis Ġand Ġbits Flag . inv () Ċ } Ċ Ċ fun ĠDouble . keep Dot ( n : ĠInt ): ĠString Ġ{ ĊĠĠĠ Ġif Ġ( n Ġ<= Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġthis . to Long (). toString () ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn ĠString . format ("% 1 $. ${ n } f ", Ġthis ) Ċ } Ċ Ċ fun Ġmake Short ( hi : ĠByte , Ġlo : ĠByte ): ĠShort Ġ{ ĊĠĠĠ Ġreturn Ġ(( hi . toInt () Ġshl Ġ 8 ) Ġ+ Ġ( lo . toInt () Ġand Ġ 0 xff )). to Short () Ċ } Ċ Ċ fun Ġmake Int Value ( h 1 : ĠByte , Ġh 2 : ĠByte , Ġh 3 : ĠByte , Ġh 4 : ĠByte ): ĠInt Ġ{ ĊĠĠĠ Ġreturn Ġ( h 1 . toInt () Ġshl Ġ 2 4 ) Ġor Ġ(( h 2 . toInt () Ġshl Ġ 1 6 ) Ġand Ġ 0 x 0 0 ff 0 0 0 0 ) Ġor Ġ(( h 3 . toInt () Ġshl Ġ 8 ) Ġand Ġ 0 x 0 0 0 0 ff 0 0 ) Ġor Ġ( h 4 . toInt () Ġand Ġ 0 x 0 0 0 0 0 0 ff ) Ċ } ĊĊ Ċ val ĠLong Comparator : ĠComparator < Long > Ġ= ĠComparator < Long > Ġ{ Ġo 1 , Ġo 2 Ġ-> ĊĠĠĠ Ġif Ġ( o 1 Ġ> Ġo 2 ) Ġ{ ĊĠĠĠĠĠĠĠĠ 1 ĊĠĠĠ Ġ} Ġelse Ġif Ġ( o 1 Ġ< Ġo 2 ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ- 1 ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠ 0 ĊĠĠĠ Ġ} Ċ } Ċ