Author: szetszwo
Date: Mon Jun 21 21:26:45 2010
New Revision: 956704
URL: http://svn.apache.org/viewvc?rev=956704&view=rev
Log:
MAPREDUCE-1880. Fix BigDecimal.divide(..) in the pi example.
Modified:
hadoop/common/branches/branch-0.20-append/CHANGES.txt
hadoop/common/branches/branch-0.20-append/src/examples/org/apache/hadoop/examples/PiEstimator.java
Modified: hadoop/common/branches/branch-0.20-append/CHANGES.txt
URL:
http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.20-append/CHANGES.txt?rev=956704&r1=956703&r2=956704&view=diff
==============================================================================
--- hadoop/common/branches/branch-0.20-append/CHANGES.txt (original)
+++ hadoop/common/branches/branch-0.20-append/CHANGES.txt Mon Jun 21 21:26:45
2010
@@ -102,6 +102,8 @@ Release 0.20.3 - Unreleased
MAPREDUCE-118. Fix Job.getJobID(). (Amareshwari Sriramadasu via sharad)
+ MAPREDUCE-1880. Fix BigDecimal.divide(..) in the pi example. (szetszwo)
+
IMPROVEMENTS
MAPREDUCE-1407. Update javadoc in mapreduce.{Mapper,Reducer} to match
Modified:
hadoop/common/branches/branch-0.20-append/src/examples/org/apache/hadoop/examples/PiEstimator.java
URL:
http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.20-append/src/examples/org/apache/hadoop/examples/PiEstimator.java?rev=956704&r1=956703&r2=956704&view=diff
==============================================================================
---
hadoop/common/branches/branch-0.20-append/src/examples/org/apache/hadoop/examples/PiEstimator.java
(original)
+++
hadoop/common/branches/branch-0.20-append/src/examples/org/apache/hadoop/examples/PiEstimator.java
Mon Jun 21 21:26:45 2010
@@ -20,6 +20,7 @@ package org.apache.hadoop.examples;
import java.io.IOException;
import java.math.BigDecimal;
+import java.math.RoundingMode;
import java.util.Iterator;
import org.apache.hadoop.conf.Configured;
@@ -310,10 +311,11 @@ public class PiEstimator extends Configu
}
//compute estimated value
+ final BigDecimal numTotal
+ =
BigDecimal.valueOf(numMaps).multiply(BigDecimal.valueOf(numPoints));
return BigDecimal.valueOf(4).setScale(20)
.multiply(BigDecimal.valueOf(numInside.get()))
- .divide(BigDecimal.valueOf(numMaps))
- .divide(BigDecimal.valueOf(numPoints));
+ .divide(numTotal, RoundingMode.HALF_UP);
} finally {
fs.delete(TMP_DIR, true);
}