Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c07e2616 authored by Hans Boehm's avatar Hans Boehm Committed by Android Git Automerger
Browse files

am 6cccee27: Merge "Fix factorial(0)" into mnc-dr-dev

* commit '6cccee27':
  Fix factorial(0)
parents 1e05c8a2 6cccee27
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -555,6 +555,9 @@ public class BoundedRational {
            }
            return prod1.multiply(prod2);
        } else {
            if (n == 0) {
                return BigInteger.ONE;
            }
            BigInteger res = BigInteger.valueOf(n);
            for (long i = n - step; i > 1; i -= step) {
                res = res.multiply(BigInteger.valueOf(i));
+1 −1
Original line number Diff line number Diff line
@@ -21,7 +21,7 @@

    <instrumentation
        android:name="android.test.InstrumentationTestRunner"
        android:targetPackage="com.android.exactcalculator"
        android:targetPackage="com.android.calculator2"
        android:label="BoundedRational and Calculator Functional Test" />

    <application>
+1 −1
Original line number Diff line number Diff line
@@ -4,7 +4,7 @@ Run on Android with
2) Install the calculator with
adb install <tree root>/out/target/product/generic/data/app/ExactCalculator/ExactCalculator.apk
3) adb install <tree root>/out/target/product/generic/data/app/ExactCalculatorTests/ExactCalculatorTests.apk
4) adb shell am instrument -w com.android.exactcalculator.tests/android.test.InstrumentationTestRunner
4) adb shell am instrument -w com.android.calculator2.tests/android.test.InstrumentationTestRunner

There are three kinds of tests:

+4 −0
Original line number Diff line number Diff line
@@ -151,6 +151,10 @@ public class BRTest extends TestCase {
                "digitsRequired(-1/2)");
        check(BoundedRational.digitsRequired(new BoundedRational(1,-2)) == 1,
                "digitsRequired(1/-2)");
        check(BoundedRational.fact(BoundedRational.ZERO).equals(BoundedRational.ONE), "0!");
        check(BoundedRational.fact(BoundedRational.ONE).equals(BoundedRational.ONE), "1!");
        check(BoundedRational.fact(BoundedRational.TWO).equals(BoundedRational.TWO), "2!");
        check(BoundedRational.fact(BR_15).equals(new BoundedRational(1307674368000L)), "15!");
        // We check values that include all interesting degree values.
        BoundedRational r = BR_M390;
        while (!r.equals(BR_390)) {