You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hama.apache.org by ed...@apache.org on 2008/09/19 09:34:23 UTC
svn commit: r696962 - in /incubator/hama/trunk: CHANGES.txt
src/java/org/apache/hama/util/Numeric.java
src/test/org/apache/hama/TestDenseMatrix.java
Author: edwardyoon
Date: Fri Sep 19 00:34:23 2008
New Revision: 696962
URL: http://svn.apache.org/viewvc?rev=696962&view=rev
Log: (empty)
Modified:
incubator/hama/trunk/CHANGES.txt
incubator/hama/trunk/src/java/org/apache/hama/util/Numeric.java
incubator/hama/trunk/src/test/org/apache/hama/TestDenseMatrix.java
Modified: incubator/hama/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/incubator/hama/trunk/CHANGES.txt?rev=696962&r1=696961&r2=696962&view=diff
==============================================================================
--- incubator/hama/trunk/CHANGES.txt (original)
+++ incubator/hama/trunk/CHANGES.txt Fri Sep 19 00:34:23 2008
@@ -52,6 +52,7 @@
BUG FIXES
+ HAMA-64: Bytes and Double convert (edwardyoon)
HAMA-55: Write dimension attributes when job completed (edwardyoon)
HAMA-54: Split doesn't split by map task num (edwardyoon)
HAMA-53: NullPointerException on distributed cluster (edwardyoon)
Modified: incubator/hama/trunk/src/java/org/apache/hama/util/Numeric.java
URL: http://svn.apache.org/viewvc/incubator/hama/trunk/src/java/org/apache/hama/util/Numeric.java?rev=696962&r1=696961&r2=696962&view=diff
==============================================================================
--- incubator/hama/trunk/src/java/org/apache/hama/util/Numeric.java (original)
+++ incubator/hama/trunk/src/java/org/apache/hama/util/Numeric.java Fri Sep 19 00:34:23 2008
@@ -26,7 +26,8 @@
* Provides a number format conversion
*/
public class Numeric {
-
+ private static long BITMASK = 0xFF;
+
/**
* Bytes to integer conversion
*
@@ -54,7 +55,10 @@
* @return the converted value
*/
public static double bytesToDouble(byte[] bytes) {
- return Double.parseDouble(Bytes.toString(bytes));
+ long value = 0;
+ for (int i = 0; i < 8; i++)
+ value = ((((long)(bytes[i])) & 0xFF) << (56 - i * 8)) | value;
+ return Double.longBitsToDouble(value);
}
/**
@@ -64,7 +68,17 @@
* @return the converted value
*/
public static byte[] doubleToBytes(Double doubleValue) {
- return Bytes.toBytes(doubleValue.toString());
+ byte[] buf = new byte[8];
+ long longVal = Double.doubleToLongBits(doubleValue);
+ buf[0] = (Long.valueOf((longVal & (BITMASK << 56)) >>> 56)).byteValue();
+ buf[1] = (Long.valueOf((longVal & (BITMASK << 48)) >>> 48)).byteValue();
+ buf[2] = (Long.valueOf((longVal & (BITMASK << 40)) >>> 40)).byteValue();
+ buf[3] = (Long.valueOf((longVal & (BITMASK << 32)) >>> 32)).byteValue();
+ buf[4] = (Long.valueOf((longVal & (long)0x00000000FF000000) >>> 24)).byteValue();
+ buf[5] = (Long.valueOf((longVal & (long)0x0000000000FF0000) >>> 16)).byteValue();
+ buf[6] = (Long.valueOf((longVal & (long)0x000000000000FF00) >>> 8)).byteValue();
+ buf[7] = (Long.valueOf((longVal & (long)0x00000000000000FF))).byteValue();
+ return buf;
}
/**
Modified: incubator/hama/trunk/src/test/org/apache/hama/TestDenseMatrix.java
URL: http://svn.apache.org/viewvc/incubator/hama/trunk/src/test/org/apache/hama/TestDenseMatrix.java?rev=696962&r1=696961&r2=696962&view=diff
==============================================================================
--- incubator/hama/trunk/src/test/org/apache/hama/TestDenseMatrix.java (original)
+++ incubator/hama/trunk/src/test/org/apache/hama/TestDenseMatrix.java Fri Sep 19 00:34:23 2008
@@ -177,8 +177,8 @@
for (int i = 0; i < SIZE; i++) {
for (int j = 0; j < SIZE; j++) {
- assertEquals(String.valueOf(result.get(i, j)).substring(0, 14), String
- .valueOf(C[i][j]).substring(0, 14));
+ assertEquals(String.valueOf(result.get(i, j)).substring(0, 14),
+ String.valueOf(C[i][j]).substring(0, 14));
}
}
}