Logo

Programming-Idioms

  • C
  • D
  • Go

Idiom #236 Large quotient

Initialize a quotient q = a/b of arbitrary precision. a and b are large integers.

import "math/big"
q := new(big.Rat)
q.SetString(str)

str is a quotient string including numerator, slash, denominator.
import "math/big"
q := new(big.Rat)
q.SetFrac(a, b)

a, b have type *big.Int
import "math/big"
q := big.NewRat(a, b)

This creates a quotient from int64 values.
Subsequent computations have arbitrary precision.
import java.math.BigDecimal;
BigDecimal A = new BigDecimal(a),
           B = new BigDecimal(b),
           q = A.divide(B);

New implementation...