From 9ad6f6d99c895cb32de602b9f731f4cb730066a6 Mon Sep 17 00:00:00 2001 From: Hans Boehm Date: Thu, 1 Oct 2015 16:07:56 -0700 Subject: 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) --- src/com/android/calculator2/BoundedRational.java | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src') 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)); -- cgit v1.2.3