summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorHans Boehm <hboehm@google.com>2015-10-01 16:07:56 -0700
committerHans Boehm <hboehm@google.com>2015-10-09 23:14:11 +0000
commit9ad6f6d99c895cb32de602b9f731f4cb730066a6 (patch)
tree50d9c00fff79a0bd4fb66e615820e7300e42d85c /src
parent51fc9bddf33616aa8abaf4a37889efa90679e445 (diff)
downloadandroid_packages_apps_ExactCalculator-9ad6f6d99c895cb32de602b9f731f4cb730066a6.tar.gz
android_packages_apps_ExactCalculator-9ad6f6d99c895cb32de602b9f731f4cb730066a6.tar.bz2
android_packages_apps_ExactCalculator-9ad6f6d99c895cb32de602b9f731f4cb730066a6.zip
Fix factorial(0)
Bug: 24575798 Make factorial(0) return 1, as intended. Add a few factorial tests. Fix targetPackage spec so test is actually runnable again. Change-Id: Ibb8d827f0325999c6b5ed49a939e1532ddf55639 (cherry picked from commit 6951591806f46405564a6cb868a88d0daf6764d2)
Diffstat (limited to 'src')
-rw-r--r--src/com/android/calculator2/BoundedRational.java3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/com/android/calculator2/BoundedRational.java b/src/com/android/calculator2/BoundedRational.java
index 2b3d1ed..ebaa157 100644
--- a/src/com/android/calculator2/BoundedRational.java
+++ b/src/com/android/calculator2/BoundedRational.java
@@ -468,6 +468,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));