package Ġw um o . sim . util Ċ Ċ class ĠClosed Float Range ( val Ġstart : ĠFloat , Ġval Ġlast : ĠFloat ) ĊĠ Ġ: ĠIterable < Float > Ġ{ ĊĠ Ġvar Ġstep Ġ= Ġlast Ġ- Ġstart ĊĠĠĊĠ Ġinit Ġ{ ĊĠĠĠ Ġcheck ( start Ġ< Ġlast Ġ&& Ġstep Ġ> Ġ 0 ) ĊĠ Ġ} ĊĠĠĊĠ Ġoverride Ġfun Ġiterator () Ġ= Ġobject Ġ: ĠIterator < Float > Ġ{ ĊĠĠĠ Ġvar Ġcurrent Ġ= Ġstart ĊĠĠĠ Ġoverride Ġfun Ġhas Next () Ġ= Ġcurrent Ġ< Ġlast ĊĠĠĠĠĊĠĠĠ Ġoverride Ġfun Ġnext (): ĠFloat Ġ{ ĊĠĠĠĠĠ Ġcurrent Ġ+= Ġstep ĊĠĠĠĠĠ Ġreturn Ġmin Of ( last , Ġcurrent ) ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĠĠĊĠ Ġoperator Ġfun Ġdiv ( n : ĠInt ): ĠClosed Float Range Ġ{ ĊĠĠĠ Ġcheck ( n Ġ> Ġ 0 ) ĊĠĠĠ Ġthis . step Ġ= Ġ( last Ġ- Ġstart ) Ġ/ Ġn ĊĠĠĠ Ġreturn Ġthis ĊĠ Ġ} Ċ } Ċ Ċ operator Ġfun ĠFloat . range To ( end Inclusive : ĠFloat ) Ġ= ĊĠĠĠ ĠClosed Float Range ( this , Ġend Inclusive )