package Ġk ot in . demo . com . my application Ċ Ċ import Ġandroid . support . annotation . Int Range Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠK asper ĠT ve de Ġon Ġ 2 7 - 0 7 - 2 0 1 7 . Ċ Ġ*/ Ċ Ċ data Ġclass ĠMy Int Range 1 (@ Int Range ( from Ġ= Ġ 0 ) Ġval Ġvalue : ĠInt ) ĊĊ Ċ fun Ġtry My Int Range 1 () Ġ{ ĊĠĠĠ Ġval Ġmissing Ġ= ĠMy Int Range 1 (- 1 ) ĊĠĠĠ Ġ// Missing Ġerror , Ġabout Ġvalue Ġbe e ing Ġto Ġlow Ġ? ĊĊĠĠĠ Ġval Ġusing An Int Ġ= Ġ- 2 ĊĠĠĠ Ġval Ġmissing 2 Ġ= ĠMy Int Range 1 ( using An Int ) ĊĠĠĠ Ġ// Missing Ġerror , Ġabout Ġvalue Ġbe e ing Ġto Ġlow Ġ? Ċ } ĊĊ Ċ data Ġclass ĠMy Int Range 2 (@ Int Range ( from Ġ= Ġ 0 , Ġto Ġ= Ġ 4 5 0 ) Ġval Ġvalue : ĠInt , Ġ@ Int Range ( from Ġ= Ġ 0 ) Ġval Ġvalue 2 : ĠInt ) Ċ Ċ fun Ġtry My Int Range 2 () Ġ{ ĊĠĠĠ Ġval Ġmissing Ġ= ĠMy Int Range 2 (- 1 , Ġ- 1 0 ) ĊĠĠĠ Ġ// Missing Ġerror , Ġabout Ġvalue Ġbe e ing Ġto Ġlow Ġ? Ġin Ġboth Ġcases . ĊĠĠĠ Ġval Ġresult Ġ= Ġmissing . value Ġ+ Ġmissing . value 2 ĊĊĠĠĠ Ġval Ġmissing 2 Ġ= ĠMy Int Range 2 ( 9 9 9 9 9 9 , Ġ 1 ) ĊĠĠĠ Ġ// Missing Ġerror , Ġabout Ġvalue Ġbe e ing Ġto Ġhigh Ġ? Ġin Ġfirst Ġcases . Ċ } ĊĊ Ċ @ Int Range ( from Ġ= Ġ- 1 , Ġto Ġ= Ġ 1 0 ) Ċ fun Ġtry Int From Function (@ Int Range ( from Ġ= Ġ 0 ) Ġinput Int : ĠInt ): ĠInt Ġ{ ĊĠĠĠ Ġreturn Ġ 1 1 Ġ- Ġinput Int Ġ// e hh Ġthis Ġcase Ġfails , Ġif Ġwe Ġdid Ġnot Ġuse Ġthe Ġinput Int Ġthen Ġit Ġwould Ġdo Ġthe Ġright Ġfor Ġa Ġconstant . Ċ } ĊĊ Ċ @ Int Range ( from Ġ= Ġ 0 , Ġto Ġ= Ġ 1 ) Ċ fun Ġtry Int From Function 2 ( input : ĠBoolean ): ĠLong Ġ{ ĊĠĠĠ Ġreturn Ġif Ġ( input ) Ġ{ ĊĠĠĠĠĠĠĠĠ 1 ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠ 2 Ġ/// E HH Ġit Ġworks Ġin Ġalmost Ġall Ġother Ġcases .... ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Int Range ( from Ġ= Ġ 0 , Ġto Ġ= Ġ 1 ) Ċ fun Ġtry Int From Function 3 ( input : ĠBoolean ?): ĠInt Ġ{ ĊĠĠĠ Ġ// this Ġis Ġcomplet ly Ġalso Ġgone .. Ġ? Ġeven Ġif Ġwe Ġmove Ġthis Ġto Ġan Ġexpression ĊĠĠĠ Ġreturn Ġwhen Ġ{ ĊĠĠĠĠĠĠĠ Ġfalse Ġ-> Ġ 2 0 ĊĠĠĠĠĠĠĠ Ġtrue Ġ-> Ġ 1 ĊĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ- 2 0 ĊĠĠĠ Ġ} Ċ } ĊĊ Ċ @ Int Range ( from Ġ= Ġ 0 , Ġto Ġ= Ġ 1 ) Ċ fun Ġcompute S om thing (): ĠLong Ġ{ ĊĠĠĠ Ġreturn Ġtry Int From Function 2 ( true ) Ġ// this Ġis Ġwrong ly Ġflag ged ...... Ċ } Ċ Ċ fun Ġrandom Int (): ĠInt Ġ{ ĊĠĠĠ Ġreturn Ġ 4 2 Ċ } Ċ Ċ val Ġconst Int Ġ= Ġ 2 2 Ċ Ċ @ Int Range ( from Ġ= Ġ 0 , Ġto Ġ= Ġ 1 ) Ċ fun Ġcompute S om thing 2 (): ĠLong Ġ{ ĊĠĠĠ Ġreturn Ġrandom Int (). to Long () Ġ Ġ// this Ġis Ġnot Ġflag ged Ġ? Ċ } Ċ Ċ @ Int Range ( from Ġ= Ġ 0 , Ġto Ġ= Ġ 1 0 ) Ċ fun Ġcompute S om thing 3 (): ĠInt Ġ{ ĊĠĠĠ Ġreturn Ġconst Int Ġ Ġ// this Ġworks Ġbut Ċ } Ċ Ċ val Ġconst Int 2 ĊĠĠĠ Ġget () Ġ= Ġ 2 2 Ġ+ Ġ 2 2 Ċ Ċ @ Int Range ( from Ġ= Ġ 0 , Ġto Ġ= Ġ 1 0 ) Ċ fun Ġcompute S om thing 4 (): ĠInt Ġ{ ĊĠĠĠ Ġreturn Ġconst Int 2 Ġ Ġ// this Ġdoes Ġnot Ġwork Ġ?? Ġ( const Int 2 Ġis Ġa Ġconstant Ġof Ġ 4 4 ). Ċ } Ċ Ċ // one Ġcould Ġeasily Ġrepeat Ġthe Ġtests Ġ Ġ/ Ġexample Ġfor Ġdouble Ġ/ Ġfloats Ġ. ĊĊ