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.
diff --git a/commons-numbers-fraction/src/main/java/org/apache/commons/numbers/fraction/BigFraction.java b/commons-numbers-fraction/src/main/java/org/apache/commons/numbers/fraction/BigFraction.java
index 60f2c06..cee2a6e 100644
--- a/commons-numbers-fraction/src/main/java/org/apache/commons/numbers/fraction/BigFraction.java
+++ b/commons-numbers-fraction/src/main/java/org/apache/commons/numbers/fraction/BigFraction.java
@@ -488,17 +488,7 @@
      * positive, 0 if it is 0.
      */
     public int signum() {
-        final int numS = numerator.signum();
-        final int denS = denominator.signum();
-
-        if ((numS > 0 && denS > 0) ||
-            (numS < 0 && denS < 0)) {
-            return 1;
-        } else if (numS == 0) {
-            return 0;
-        } else {
-            return -1;
-        }
+        return numerator.signum() * denominator.signum();
     }
 
     /**
diff --git a/commons-numbers-fraction/src/main/java/org/apache/commons/numbers/fraction/Fraction.java b/commons-numbers-fraction/src/main/java/org/apache/commons/numbers/fraction/Fraction.java
index a2acc21..31e7cde 100644
--- a/commons-numbers-fraction/src/main/java/org/apache/commons/numbers/fraction/Fraction.java
+++ b/commons-numbers-fraction/src/main/java/org/apache/commons/numbers/fraction/Fraction.java
@@ -373,14 +373,7 @@
      * positive, 0 if it is 0.
      */
     public int signum() {
-        if ((numerator > 0 && denominator > 0) ||
-            (numerator < 0 && denominator < 0)) {
-            return 1;
-        } else if (isZero()) {
-            return 0;
-        } else {
-            return -1;
-        }
+        return Integer.signum(numerator) * Integer.signum(denominator);
     }
 
     /**