/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 1 8 - 2 0 2 1 . Ġdata 2 viz Ġs Ãł rl . Ċ Ġ* Ċ Ġ* Ġ Ġ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 . Ċ Ġ* Ċ Ġ*/ Ċ Ċ package Ġio . data 2 viz . shape Ċ Ċ // import Ġio . data 2 viz . math . Angle Ċ import Ġkotlin . math . PI ĊĊ Ċ internal Ġval Ġepsilon Ġ= Ġ 1 e - 1 2 Ċ internal Ġval Ġpi Ġ= ĠPI Ċ internal Ġval Ġhalf Pi Ġ= Ġpi Ġ/ Ġ 2 Ċ internal Ġval Ġtau Ġ= Ġ 2 Ġ* Ġpi ĊĊ Ċ internal Ġfun Ġa cos ( x : ĠDouble ) Ġ= Ġif Ġ( x Ġ> Ġ 1 . 0 ) ĠĠ 0 . 0 ĠĠĠĠ Ġelse Ġif Ġ( x Ġ< Ġ- 1 ) Ġpi ĠĠĠĠĠĠĠĠ Ġelse Ġkotlin . math . acos ( x ) Ċ internal Ġfun Ġas in ( x : ĠDouble ) Ġ= Ġif Ġ( x Ġ>= Ġ 1 . 0 ) Ġhalf Pi Ġ Ġelse Ġif Ġ( x Ġ<= Ġ- 1 . 0 ) Ġ- half Pi Ġelse Ġkotlin . math . asin ( x ) Ċ Ċ // fun Ġa cos ( a : ĠAngle ) Ġ= Ġif Ġ( a . rad Ġ> Ġ 1 . 0 ) ĠĠ 0 . 0 ĠĠĠĠ Ġelse Ġif Ġ( a . rad Ġ< Ġ- 1 ) Ġpi ĠĠĠĠĠĠĠĠ Ġelse Ġa . acos Ċ // fun Ġas in ( a : ĠAngle ) Ġ= Ġif Ġ( a . rad Ġ>= Ġ 1 . 0 ) Ġhalf Pi Ġ Ġelse Ġif Ġ( a . rad Ġ<= Ġ- 1 . 0 ) Ġ- half Pi Ġelse Ġa . asin Ċ