/* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 1 0 ĠThe ĠAndroid ĠOpen ĠSource ĠProject Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ @ file : Suppress (" Un necessary Variable ") Ċ Ċ package Ġcom . replica . replic ais land Ċ Ċ import Ġkotlin . math . abs ĊĊ Ċ /** ĠA Ġcollection Ġof Ġmis cellaneous Ġutility Ġfunctions . Ġ Ġ*/ Ċ class ĠUtils Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠEPS ILON Ġ= Ġ 0 . 0 0 0 1 f ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Over loads ĊĠĠĠĠĠĠĠ Ġfun Ġclose ( a : ĠFloat , Ġb : ĠFloat , Ġepsilon : ĠFloat Ġ= ĠEPS ILON ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġabs ( a Ġ- Ġb ) Ġ< Ġepsilon ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġsign ( a : ĠFloat ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( a Ġ>= Ġ 0 . 0 f ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġclamp ( value : ĠInt , Ġmin : ĠInt , Ġmax : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġresult Ġ= Ġvalue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( min Ġ== Ġmax ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( value Ġ!= Ġmin ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult Ġ= Ġmin ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( min Ġ< Ġmax ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( value Ġ< Ġmin ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult Ġ= Ġmin ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( value Ġ> Ġmax ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult Ġ= Ġmax ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult Ġ= Ġclamp ( value , Ġmax , Ġmin ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun ĠbyteArray ToInt ( b In : ĠByteArray ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( b In . size Ġ!= Ġ 4 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġb 0 Ġ= Ġb In [ 0 ]. toInt () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġb 1 Ġ= Ġb In [ 1 ]. toInt () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġb 2 Ġ= Ġb In [ 2 ]. toInt () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġb 3 Ġ= Ġb In [ 3 ]. toInt () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġi 1 Ġ: ĠInt Ġ= Ġ( b 3 Ġand Ġ 0 xff ) Ġshl Ġ 2 4 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġi 2 Ġ: ĠInt Ġ= Ġ( b 2 Ġand Ġ 0 xff ) Ġshl Ġ 1 6 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġi 3 Ġ: ĠInt Ġ= Ġ( b 1 Ġand Ġ 0 xff ) Ġshl Ġ 8 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġi 4 Ġ: ĠInt Ġ= Ġb 0 Ġand Ġ 0 xff ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġi Ġ: ĠInt Ġ= Ġi 1 Ġor Ġi 2 Ġor Ġi 3 Ġor Ġi 4 ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠSame Ġas ĠData InputStream 's Ġ' readInt ' Ġmethod ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ/* int Ġi Ġ= Ġ((( b [ 0 ] Ġ& Ġ 0 xff ) Ġ<< Ġ 2 4 ) Ġ| Ġ(( b [ 1 ] Ġ& Ġ 0 xff ) Ġ<< Ġ 1 6 ) Ġ| Ġ(( b [ 2 ] Ġ& Ġ 0 xff ) Ġ<< Ġ 8 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| Ġ( b [ 3 ] Ġ& Ġ 0 xff )); */ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġlittle Ġendian ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġi ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun ĠbyteArray To Float ( b : ĠByteArray ): ĠFloat Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġint Bits To Float () Ġconverts Ġbits Ġas Ġfollows : ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ/* ĊĠĠĠĠĠĠĠ Ġint Ġs Ġ= Ġ(( i Ġ>> Ġ 3 1 ) Ġ== Ġ 0 ) Ġ? Ġ 1 Ġ: Ġ- 1 ; ĊĠĠĠĠĠĠĠ Ġint Ġe Ġ= Ġ(( i Ġ>> Ġ 2 3 ) Ġ& Ġ 0 xff ); ĊĠĠĠĠĠĠĠ Ġint Ġm Ġ= Ġ( e Ġ== Ġ 0 ) Ġ? Ġ( i Ġ& Ġ 0 x 7 fffff ) Ġ<< Ġ 1 Ġ: Ġ( i Ġ& Ġ 0 x 7 fffff ) Ġ| Ġ 0 x 8 0 0 0 0 0 ; ĊĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġjava . lang . Float . int Bits To Float ( byteArray ToInt ( b )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġframes To Time ( frames PerSecond : ĠInt , Ġframe Count : ĠInt ): ĠFloat Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ 1 . 0 f Ġ/ Ġframes PerSecond Ġ* Ġframe Count ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ }