package Ġd rew car l son . mult ibase Ċ Ċ actual Ġtype alias ĠPlatform BigInt Ġ= Ġjava . math . BigInteger Ċ Ċ internal Ġactual Ġinline Ġclass ĠBigInt ( private Ġval Ġnum : ĠPlatform BigInt ) Ġ{ ĊĊĠĠĠ Ġactual Ġconstructor ( input : ĠInt ) Ġ: Ġthis ( java . math . BigInteger . valueOf ( input . to Long ())) ĊĊĠĠĠ Ġactual Ġconstructor ( magnitude : ĠByteArray ) Ġ: Ġthis ( java . math . BigInteger ( 1 , Ġmagnitude )) ĊĊĠĠĠ Ġactual Ġoperator Ġfun Ġplus ( other : ĠBigInt ): ĠBigInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠBigInt ( num . add ( other . num )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġactual Ġoperator Ġfun Ġminus ( other : ĠBigInt ): ĠBigInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠBigInt ( num . subtract ( other . num )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġactual Ġoperator Ġfun Ġtimes ( other : ĠBigInt ): ĠBigInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠBigInt ( num . multiply ( other . num )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġactual Ġoperator Ġfun Ġdiv ( other : ĠBigInt ): ĠBigInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠBigInt ( num . divide ( other . num )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġactual Ġoperator Ġfun Ġcompare To ( other : ĠBigInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġnum . compareTo ( other . num ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġactual Ġfun Ġpow ( other : ĠInt ): ĠBigInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠBigInt ( num . pow ( other )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġactual Ġfun Ġmod ( other : ĠBigInt ): ĠBigInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠBigInt ( num . mod ( other . num )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġactual Ġfun Ġto Int (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġnum . toInt () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġactual Ġfun Ġto ByteArray (): ĠByteArray Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġnum . toByteArray () ĊĠĠĠ Ġ} Ċ }