package Ġcom . e ag les ak ura . ar my knife . runtime Ċ Ċ /** Ċ Ġ* ĠReturns Ġrandom Ġvalue . Ċ Ġ* Ċ Ġ* Ġ@ author Ġ@ e ag les ak ura Ċ Ġ* Ġ@ link Ġhttps :// github . com / e ag les ak ura / ar my knife - runtime Ċ Ġ* Ġ@ link Ġhttps :// github . com / e ag les ak ura / static - random Ċ Ġ*/ Ċ @ Suppress (" Member Visibility Can Be Private ", Ġ" unused ") Ċ @ Deprecated (" https :// github . com / e ag les ak ura / static - random ") Ċ object ĠRandom Ġ{ ĊĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġval Ġrand Ġ= Ġjava . util . Random () ĊĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġboolean (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġrand . next Boolean () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġint 8 (): ĠByte Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġrand . nextInt (). to Byte () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġint 1 6 (): ĠShort Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġrand . nextInt (). to Short () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġint 3 2 (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġrand . nextInt () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġint 6 4 (): ĠLong Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġrand . next Long () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGenerate Ġunsigned . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġuint 8 (): ĠByte Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ( rand . nextInt () Ġand Ġ 0 x 7 F ). to Byte () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGenerate Ġunsigned . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġuint 1 6 (): ĠShort Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ( rand . nextInt () Ġand Ġ 0 x 0 0 0 0 7 FFF ). to Short () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGenerate Ġunsigned . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġuint 3 2 (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġrand . nextInt () Ġand Ġ 0 x 7 FFFF FFF ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGenerate Ġunsigned . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġuint 6 4 (): ĠLong Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġrand . next Long () Ġand Ġ 0 x 7 FFFFFFFF FFFFFF FL ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ 0 . 0 Ġto Ġ 1 . 0 ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġfloat 3 2 (): ĠFloat Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġrand . next Float () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ 0 . 0 Ġto Ġ 1 . 0 ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġfloat 6 4 (): ĠDouble Ġ= Ġrand . next Double () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠRandom [ a - z , Ġ 0 - 9 , ĠA - Z ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġascii (): ĠByte Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( uint 8 () Ġ% Ġ 5 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 , Ġ 1 Ġ-> Ġ(' a '. toInt () Ġ+ Ġuint 8 () Ġ% Ġ 2 6 ). to Byte () ĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 , Ġ 3 Ġ-> Ġ(' A '. toInt () Ġ+ Ġuint 8 () Ġ% Ġ 2 6 ). to Byte () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ(' 0 '. toInt () Ġ+ Ġuint 8 () Ġ% Ġ 1 0 ). to Byte () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġrandom Ġstrings . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ author Ġ@ e ag les ak ura ĊĠĠĠĠ Ġ* Ġ@ link Ġhttps :// github . com / e ag les ak ura / ar my knife - runtime ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġstring ( length : ĠInt Ġ= Ġ 3 2 ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbuffer Ġ= ĠByteArray ( length ) ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġlength ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuffer [ i ] Ġ= Ġascii () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn ĠString ( buffer ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġrandom Ġshort Ġstrings ( less Ġthan Ġ 1 0 chars ). ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ author Ġ@ e ag les ak ura ĊĠĠĠĠ Ġ* Ġ@ link Ġhttps :// github . com / e ag les ak ura / ar my knife - runtime ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġsmall String (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġstring ( 6 ) Ġ+ Ġ( Random . uint 1 6 (). toInt () Ġand Ġ 0 xFF ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġrandom Ġlarge Ġstrings ( 1 0 2 4 Ġchars ). ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ author Ġ@ e ag les ak ura ĊĠĠĠĠ Ġ* Ġ@ link Ġhttps :// github . com / e ag les ak ura / ar my knife - runtime ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġlarge String (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġstring ( 4 Ġ* Ġ 2 5 6 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun ĠbyteArray ( length : ĠInt Ġ= Ġ 3 2 Ġ+ Ġuint 8 ()): ĠByteArray Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbuffer Ġ= ĠByteArray ( length ) ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġbuffer . indices ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuffer [ i ] Ġ= Ġint 8 () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġbuffer ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġ< T Ġ: ĠEnum <* >> Ġenumerate ( clazz : ĠClass < T >): ĠT Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġvalues Method Ġ= Ġclazz . getMethod (" values ") ĊĠĠĠĠĠĠĠ Ġval Ġvalues Ġ= Ġvalues Method . invoke ( clazz ) Ġas ĠArray < *> ĊĠĠĠĠĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĊĠĠĠĠĠĠĠ Ġreturn Ġvalues [ uint 8 () Ġ% Ġvalues . size ] Ġas ĠT ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġ< T Ġ: ĠEnum <* >> Ġenumerate OrNull ( clazz : ĠClass < T >): ĠT ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġvalues Method Ġ= Ġclazz . getMethod (" values ") ĊĠĠĠĠĠĠĠ Ġval Ġvalues Ġ= Ġvalues Method . invoke ( clazz ) Ġas ĠArray < *> ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( uint 8 () Ġ% Ġ( values . size Ġ+ Ġ 1 ) Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalues [ uint 8 () Ġ% Ġvalues . size ] Ġas ĠT ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ