package Ġdev . re imer . kotlin . jvm . k tx Ċ Ċ inline Ġval ĠInt . is Even : ĠBoolean Ġget () Ġ= Ġrem ( 2 ) Ġ== Ġ 0 Ċ inline Ġval ĠInt . is Odd : ĠBoolean Ġget () Ġ= Ġ! is Even Ċ Ċ fun ĠDouble . take Unless NaN () Ġ= Ġtake Unless ( Double :: isNaN ) Ċ fun ĠFloat . take Unless NaN () Ġ= Ġtake Unless ( Float :: isNaN ) Ċ Ċ tail rec Ġin fix Ġfun ĠLong . gcd ( other : ĠLong ): ĠLong Ġ= ĊĠĠĠ Ġif Ġ( other Ġ== Ġ 0 L ) Ġthis Ġelse Ġother . gcd ( this Ġ% Ġother ) Ċ Ċ tail rec Ġin fix Ġfun ĠInt . gcd ( other : ĠInt ): ĠInt Ġ= ĊĠĠĠ Ġif Ġ( other Ġ== Ġ 0 ) Ġthis Ġelse Ġother . gcd ( this Ġ% Ġother ) Ċ Ċ fun ĠSequence < Long >. gcd (): ĠLong Ġ= Ġreduce ( Long :: gcd ) Ċ Ċ fun ĠIterable < Long >. gcd () Ġ= Ġas Sequence (). gcd () Ċ Ċ fun ĠLong Array . gcd () Ġ= Ġas Sequence (). gcd () Ċ Ċ fun ĠSequence < Int >. gcd (): ĠInt Ġ= Ġreduce ( Int :: gcd ) Ċ Ċ fun ĠIterable < Int >. gcd () Ġ= Ġas Sequence (). gcd () Ċ Ċ fun ĠInt Array . gcd () Ġ= Ġas Sequence (). gcd () Ċ Ċ infix Ġfun ĠLong . l cm ( other : ĠLong ) Ġ= Ġthis Ġ* Ġ( other Ġ/ Ġ( this Ġgcd Ġother )) Ċ Ċ infix Ġfun ĠInt . l cm ( other : ĠInt ) Ġ= Ġthis Ġ* Ġ( other Ġ/ Ġ( this Ġgcd Ġother )) Ċ Ċ fun ĠSequence < Long >. l cm (): ĠLong Ġ= Ġreduce ( Long :: l cm ) Ċ Ċ fun ĠIterable < Long >. l cm () Ġ= Ġas Sequence (). l cm () Ċ Ċ fun ĠLong Array . l cm () Ġ= Ġas Sequence (). l cm () Ċ Ċ fun ĠSequence < Int >. l cm (): ĠInt Ġ= Ġreduce ( Int :: l cm ) Ċ Ċ fun ĠIterable < Int >. l cm () Ġ= Ġas Sequence (). l cm () Ċ Ċ fun ĠInt Array . l cm () Ġ= Ġas Sequence (). l cm () Ċ Ċ fun ĠSequence < Double >. max Delta (): ĠDouble ? Ġ{ ĊĠĠĠ Ġval Ġiterator Ġ= Ġiterator () ĊĠĠĠ Ġif Ġ(! iterator . hasNext ()) Ġreturn Ġnull ĊĠĠĠ Ġvar Ġmax Ġ= Ġiterator . next () ĊĠĠĠ Ġvar Ġmin Ġ= Ġiterator . next () ĊĠĠĠ Ġif Ġ( max . isNaN ()) Ġreturn Ġmax ĊĠĠĠ Ġif Ġ( min . isNaN ()) Ġreturn Ġmin ĊĠĠĠ Ġwhile Ġ( iterator . hasNext ()) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġe Ġ= Ġiterator . next () ĊĠĠĠĠĠĠĠ Ġif Ġ( e . isNaN ()) Ġreturn Ġe ĊĠĠĠĠĠĠĠ Ġif Ġ( max Ġ< Ġe ) Ġmax Ġ= Ġe ĊĠĠĠĠĠĠĠ Ġif Ġ( min Ġ> Ġe ) Ġmin Ġ= Ġe ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġmax Ġ- Ġmin Ċ } Ċ Ċ fun ĠIterable < Double >. max Delta (): ĠDouble ? Ġ= Ġas Sequence (). max Delta () Ċ Ċ fun ĠDouble Array . max Delta (): ĠDouble ? Ġ= Ġas Sequence (). max Delta () Ċ Ċ fun ĠSequence < Float >. max Delta (): ĠFloat ? Ġ{ ĊĠĠĠ Ġval Ġiterator Ġ= Ġiterator () ĊĠĠĠ Ġif Ġ(! iterator . hasNext ()) Ġreturn Ġnull ĊĠĠĠ Ġvar Ġmax Ġ= Ġiterator . next () ĊĠĠĠ Ġvar Ġmin Ġ= Ġiterator . next () ĊĠĠĠ Ġif Ġ( max . isNaN ()) Ġreturn Ġmax ĊĠĠĠ Ġif Ġ( min . isNaN ()) Ġreturn Ġmin ĊĠĠĠ Ġwhile Ġ( iterator . hasNext ()) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġe Ġ= Ġiterator . next () ĊĠĠĠĠĠĠĠ Ġif Ġ( e . isNaN ()) Ġreturn Ġe ĊĠĠĠĠĠĠĠ Ġif Ġ( max Ġ< Ġe ) Ġmax Ġ= Ġe ĊĠĠĠĠĠĠĠ Ġif Ġ( min Ġ> Ġe ) Ġmin Ġ= Ġe ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġmax Ġ- Ġmin Ċ } Ċ Ċ fun ĠIterable < Float >. max Delta (): ĠFloat ? Ġ= Ġas Sequence (). max Delta () Ċ Ċ fun ĠFloat Array . max Delta (): ĠFloat ? Ġ= Ġas Sequence (). max Delta () Ċ Ċ fun ĠSequence < Long >. max Delta (): ĠLong ? Ġ{ ĊĠĠĠ Ġval Ġiterator Ġ= Ġiterator () ĊĠĠĠ Ġif Ġ(! iterator . hasNext ()) Ġreturn Ġnull ĊĠĠĠ Ġvar Ġmax Ġ= Ġiterator . next () ĊĠĠĠ Ġvar Ġmin Ġ= Ġiterator . next () ĊĠĠĠ Ġwhile Ġ( iterator . hasNext ()) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġe Ġ= Ġiterator . next () ĊĠĠĠĠĠĠĠ Ġif Ġ( max Ġ< Ġe ) Ġmax Ġ= Ġe ĊĠĠĠĠĠĠĠ Ġif Ġ( min Ġ> Ġe ) Ġmin Ġ= Ġe ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġmax Ġ- Ġmin Ċ } Ċ Ċ fun ĠIterable < Long >. max Delta (): ĠLong ? Ġ= Ġas Sequence (). max Delta () Ċ Ċ fun ĠLong Array . max Delta (): ĠLong ? Ġ= Ġas Sequence (). max Delta () Ċ Ċ fun ĠSequence < Int >. max Delta (): ĠInt ? Ġ{ ĊĠĠĠ Ġval Ġiterator Ġ= Ġiterator () ĊĠĠĠ Ġif Ġ(! iterator . hasNext ()) Ġreturn Ġnull ĊĠĠĠ Ġvar Ġmax Ġ= Ġiterator . next () ĊĠĠĠ Ġvar Ġmin Ġ= Ġiterator . next () ĊĠĠĠ Ġwhile Ġ( iterator . hasNext ()) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġe Ġ= Ġiterator . next () ĊĠĠĠĠĠĠĠ Ġif Ġ( max Ġ< Ġe ) Ġmax Ġ= Ġe ĊĠĠĠĠĠĠĠ Ġif Ġ( min Ġ> Ġe ) Ġmin Ġ= Ġe ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġmax Ġ- Ġmin Ċ } Ċ Ċ fun ĠIterable < Int >. max Delta (): ĠInt ? Ġ= Ġas Sequence (). max Delta () Ċ Ċ fun ĠInt Array . max Delta (): ĠInt ? Ġ= Ġas Sequence (). max Delta () Ċ Ċ inline Ġfun Ġ< T > ĠIterable < T >. product By ( selector : Ġ( T ) Ġ-> ĠInt ): ĠInt Ġ= ĊĠĠĠ Ġfold ( 1 ) Ġ{ Ġacc , Ġelement Ġ-> Ġacc Ġ* Ġselector ( element ) Ġ} Ċ Ċ inline Ġfun Ġ< T > ĠIterable < T >. product By Double ( selector : Ġ( T ) Ġ-> ĠDouble ): ĠDouble Ġ= ĊĠĠĠ Ġfold ( 1 . 0 ) Ġ{ Ġacc , Ġelement Ġ-> Ġacc Ġ* Ġselector ( element ) Ġ} Ċ Ċ @ Jvm Name (" product Of Byte ") Ċ fun ĠIterable < Byte >. product (): ĠInt Ġ= Ġfold ( 1 ) Ġ{ Ġacc , Ġelement Ġ-> Ġacc Ġ* Ġelement Ġ} Ċ Ċ @ Jvm Name (" product Of Short ") Ċ fun ĠIterable < Short >. product (): ĠInt Ġ= Ġfold ( 1 ) Ġ{ Ġacc , Ġelement Ġ-> Ġacc Ġ* Ġelement Ġ} Ċ Ċ @ Jvm Name (" product Of Int ") Ċ fun ĠIterable < Int >. product (): ĠInt Ġ= Ġfold ( 1 ) Ġ{ Ġacc , Ġelement Ġ-> Ġacc Ġ* Ġelement Ġ} Ċ Ċ @ Jvm Name (" product Of Long ") Ċ fun ĠIterable < Long >. product (): ĠLong Ġ= Ġfold ( 1 L ) Ġ{ Ġacc , Ġelement Ġ-> Ġacc Ġ* Ġelement Ġ} Ċ Ċ @ Jvm Name (" product Of Float ") Ċ fun ĠIterable < Float >. product (): ĠFloat Ġ= Ġfold ( 1 . 0 f ) Ġ{ Ġacc , Ġelement Ġ-> Ġacc Ġ* Ġelement Ġ} Ċ Ċ @ Jvm Name (" product Of Double ") Ċ fun ĠIterable < Double >. product (): ĠDouble Ġ= Ġfold ( 1 . 0 ) Ġ{ Ġacc , Ġelement Ġ-> Ġacc Ġ* Ġelement Ġ} Ċ