tree ed314561f79eb1fb827b1814611af20141f0c4c0
parent 1dad4a176279a608a655d8c4473463139f833c67
author aherbert <aherbert@apache.org> 1586345311 +0100
committer aherbert <aherbert@apache.org> 1586345311 +0100

Updated Fraction/BigFraction signum()

Use the method from BigInteger.divide(BigInteger).

The sign of the result is equal to a.signum() * b.signum() for a/b.

This exploits the fact that BigInteger explicitly stores the signum as a
field thus removing the need for signed comparators in the
BigFraction.signum() method.

For Fraction the use of Integer.signum(int) for numerator and
denominator is the equivalent operation. This is also branchless due to
use of bit manipulation in Integer.signum to compute the sign.
