package Ġcom . mart m ists . command parser . arguments Ċ Ċ import Ġcom . mart m ists . command parser . dispatch . Context Ċ Ċ class ĠFloat Argument Type < C Ġ: ĠContext > Ġprivate Ġconstructor ( private Ġval Ġrange : ĠClosed Floating Point Range < Float >) Ġ: ĊĠĠĠ ĠArgument Type < C , ĠFloat >() Ġ{ ĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġparse ( context : ĠC , Ġinput : ĠString ): ĠString ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfirst Ġ= Ġinput . split ( Regex ("\\ s + ")). first () ĊĠĠĠĠĠĠĠ Ġval Ġnum Ġ= Ġfirst . toFloat OrNull () ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( num Ġ!= Ġnull Ġ&& Ġnum Ġin Ġrange ) Ġfirst Ġelse Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġvalue ( context : ĠC , Ġvalue : ĠString ): ĠFloat Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvalue . toFloat () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġ< C Ġ: ĠContext > Ġfloat ( min : ĠFloat Ġ= ĠFloat . NEGATIVE _ INFINITY , Ġmax : ĠFloat Ġ= ĠFloat . POSITIVE _ INFINITY ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFloat Argument Type < C >( min .. max ) ĊĊĠĠĠĠĠĠĠ Ġfun Ġ< C Ġ: ĠContext > Ġfloat ( range : ĠClosed Floating Point Range < Float >) Ġ= ĠFloat Argument Type < C >( range ) ĊĠĠĠ Ġ} Ċ } Ċ