re-fix Double failures; I misdiagnosed because expected/actual arguments were flopped.  (Fixed that, too.)

git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@2432 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/user/super/com/google/gwt/emul/java/lang/Double.java b/user/super/com/google/gwt/emul/java/lang/Double.java
index 9aa19fb..23957fc 100644
--- a/user/super/com/google/gwt/emul/java/lang/Double.java
+++ b/user/super/com/google/gwt/emul/java/lang/Double.java
@@ -38,8 +38,8 @@
   // the exponent is biased by one less than its midpoint, e.g. 2^11 / 2 - 1;
   static final int EXPONENT_BIAS = 1 << (EXPONENT_BITSIZE - 1) - 1;
   // the mask is all 1 bits in the exponent, e.g. 0x7ff shifted over by 52
-  static final long EXPONENT_MASK = (1L
-      << EXPONENT_BITSIZE - 1) << MANTISSA_BITSIZE;
+  static final long EXPONENT_MASK = ((1L
+      << EXPONENT_BITSIZE) - 1) << MANTISSA_BITSIZE;
   // place 1-bit in top position
   static final long NAN_MANTISSA = 1L << (MANTISSA_BITSIZE - 1);
   // sign bit is the MSB bit
@@ -74,7 +74,7 @@
 
     if (Double.isNaN(d)) {
       // IEEE754, NaN exponent bits all 1s, and mantissa is non-zero
-      return (1L << (EXPONENT_BITSIZE -1)) | NAN_MANTISSA;
+      return EXPONENT_MASK | NAN_MANTISSA;
     }
     if (Double.isInfinite(d)) {
       // an infinite number is a number with a zero mantissa and all
diff --git a/user/test/com/google/gwt/emultest/java/lang/DoubleTest.java b/user/test/com/google/gwt/emultest/java/lang/DoubleTest.java
index 2472e67..887fde6 100644
--- a/user/test/com/google/gwt/emultest/java/lang/DoubleTest.java
+++ b/user/test/com/google/gwt/emultest/java/lang/DoubleTest.java
@@ -37,7 +37,6 @@
   // TODO(fabbott): this constants are from the JDK 1.6 Double, so we can't rely on them
   // when we build on 1.5! But when we *do* support 1.6, this def'n should go away
   public static final double MIN_NORMAL = 2.2250738585072014e-308;
-  
 
   public String getModuleName() {
     return "com.google.gwt.emultest.EmulSuite";
@@ -80,23 +79,22 @@
 
   public void testDoubleToLongBits() {
     assertEquals("NaN double->longbits test",
-        Double.doubleToLongBits(Double.NaN), NAN_LONG_VALUE);
+        NAN_LONG_VALUE, Double.doubleToLongBits(Double.NaN));
     assertEquals("posinf double->longbits test",
-        Double.doubleToLongBits(Double.POSITIVE_INFINITY), POSINF_LONG_VALUE);
+        POSINF_LONG_VALUE, Double.doubleToLongBits(Double.POSITIVE_INFINITY));
     assertEquals("neginf double->longbits test",
-        Double.doubleToLongBits(Double.NEGATIVE_INFINITY), NEGINF_LONG_VALUE);
+        NEGINF_LONG_VALUE, Double.doubleToLongBits(Double.NEGATIVE_INFINITY));
     assertEquals("maxvalue double->longbits test",
-        Double.doubleToLongBits(Double.MAX_VALUE), MAXD_LONG_VALUE);
+        MAXD_LONG_VALUE, Double.doubleToLongBits(Double.MAX_VALUE));
     assertEquals("minvalue double->longbits test",
-        Double.doubleToLongBits(Double.MIN_VALUE), MIND_LONG_VALUE);
-    assertEquals(Double.doubleToLongBits(Double.MIN_VALUE), MIND_LONG_VALUE);
+        MIND_LONG_VALUE, Double.doubleToLongBits(Double.MIN_VALUE));
     assertEquals("test1 double->longbits test",
-        Double.doubleToLongBits(TEST1_DOUBLE_VALUE), TEST1_LONG_VALUE);
+        TEST1_LONG_VALUE, Double.doubleToLongBits(TEST1_DOUBLE_VALUE));
     assertEquals("-test1 double->longbits test",
-        Double.doubleToLongBits(-TEST1_DOUBLE_VALUE), NEGTEST1_LONG_VALUE);
+        NEGTEST1_LONG_VALUE, Double.doubleToLongBits(-TEST1_DOUBLE_VALUE));
     // TODO(fabbott): swap back to Double.MIN_NORMAL when we use jdk 1.6
     assertEquals("minnormal double->longbits test", 
-        Double.doubleToLongBits(MIN_NORMAL), MINNORM_LONG_VALUE);
+        MINNORM_LONG_VALUE, Double.doubleToLongBits(MIN_NORMAL));
   }
   
   public void testLongBitsToDouble() {