/* Ċ Ġ* ĠĠĠ ĠCopyright Ġ 2 0 1 9 ĠU gl jes a ĠJ ovan ov ic Ċ Ġ* Ċ Ġ* ĠĠĠ Ġ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 Ġcom . ion spin . kotlin . b ignum . decimal Ċ Ċ import Ġkotlin . test . Test Ċ import Ġkotlin . test . assertTrue Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠU gl jes a ĠJ ovan ov ic Ċ Ġ* Ġug lj es a . j ovan ov ic @ ion spin . com Ċ Ġ* Ġon Ġ 0 4 - May - 2 0 1 9 Ċ Ġ*/ Ċ Ċ class ĠBigDecimal Div Pow Test Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Integer Division () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertTrue Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdiv id end Ġ= Ġ 4 . 1 2 3 . to BigDecimal () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdivisor Ġ= Ġ 2 . to BigDecimal () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġ( quot ient , Ġremainder ) Ġ= Ġdiv id end Ġdiv rem Ġdivisor ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġquot ient Ġ== Ġ 2 . to BigDecimal () Ġ&& Ġremainder Ġ== Ġ 0 . 1 2 3 . to BigDecimal () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Specific Integer Division () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertTrue Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdiv id end Ġ= ĠShort . MIN _ VALUE . to BigDecimal () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdivisor Ġ= Ġ 1 . to BigDecimal () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġ( quot ient , Ġremainder ) Ġ= Ġdiv id end Ġdiv rem Ġdivisor ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġquot ient Ġ== ĠShort . MIN _ VALUE . to BigDecimal () Ġ&& Ġremainder Ġ== Ġ 0 . to BigDecimal () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Decimal Exponent iation () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertTrue Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġa Ġ= Ġ 2 . to BigDecimal () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġa . pow ( 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult . compareTo ( 4 ) Ġ== Ġ 0 ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠassertTrue Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġa Ġ= Ġ 2 . to BigDecimal () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġa . pow ( 1 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult . compareTo ( 1 0 2 4 ) Ġ== Ġ 0 ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠassertTrue Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġa Ġ= Ġ 0 . 5 . to BigDecimal () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġa . pow ( 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult . compareTo ( 0 . 2 5 ) Ġ== Ġ 0 ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠassertTrue Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġa Ġ= Ġ 4 . to BigDecimal ( decimal Mode Ġ= ĠDecimal Mode ( decimal Precision Ġ= Ġ 1 0 , Ġrounding Mode Ġ= ĠRound ingMode . FLO OR )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġa . pow (- 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult . compareTo ( 0 . 2 5 ) Ġ== Ġ 0 ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠassertTrue Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġa Ġ= Ġ 4 . to BigDecimal ( decimal Mode Ġ= ĠDecimal Mode ( decimal Precision Ġ= Ġ 1 0 , Ġrounding Mode Ġ= ĠRound ingMode . FLO OR )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġa . pow (- 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult . compareTo ( 1 f Ġ/ Ġ 1 6 ) Ġ== Ġ 0 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ