Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static Rational multiplyByLong(Rational rational, long factor) throws IllegalDenominatorException, TimesOverflowException {
- try {
- if (ExtMath.areMultipliable(rational.getNumerator(), factor))
- return new Rational(rational.getNumerator() * factor, rational.getDenominator());
- else {
- if (!Rational.hasSameValueAs(rational, simplify(rational))) {
- if (multiplyByLong(simplify(rational), factor) == null) return null;
- return multiplyByLong(simplify(rational), factor);
- }
- return multiplyByLong(simplify(new Rational(factor, rational.getDenominator())), rational.getNumerator());
- }
- } catch (TimesOverflowException e) {
- e.printStackTrace();
- return null;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement