package Ġven us . ris cv . inst s . dsl . impl s Ċ Ċ /** Ċ Ġ* ĠSign Ġextends Ġv Ġof Ġsz Ġbits Ġto Ġa Ġ 3 2 Ġbit Ġinteger Ċ Ġ* Ċ Ġ* Ġ@ param Ġv Ġthe Ġnumber Ġto Ġsign Ġextend Ċ Ġ* Ġ@ param Ġsz Ġthe Ġnumber Ġof Ġbits Ġthat Ġv Ġtakes Ċ Ġ*/ Ċ internal Ġfun Ġsign Extend ( v : ĠInt , Ġsz : ĠInt ): ĠInt Ġ= Ġv Ġshl Ġ( 3 2 Ġ- Ġsz ) Ġshr Ġ( 3 2 Ġ- Ġsz ) Ċ Ċ internal Ġfun Ġset Bits lice ( x : ĠInt , Ġy : ĠInt , Ġstart : ĠInt , Ġend : ĠInt ): ĠInt Ġ{ ĊĠĠĠ Ġval Ġmask : ĠInt Ġ= Ġ(( 1 L Ġshl Ġend ) Ġ- Ġ( 1 L Ġshl Ġstart )). inv (). toInt () ĊĠĠĠ Ġreturn Ġ( mask Ġand Ġx ) Ġor Ġ( y Ġshl Ġstart ) Ċ } Ċ