Beef up Math log,log10,log1p,pow,exp tests.

PiperOrigin-RevId: 363759816
Change-Id: I03a7923f4cb3d7eb8bf6d82b6f414d26bc8be0d4
diff --git a/user/test/com/google/gwt/emultest/java/lang/MathTest.java b/user/test/com/google/gwt/emultest/java/lang/MathTest.java
index 50e4d1d..a163ce6 100644
--- a/user/test/com/google/gwt/emultest/java/lang/MathTest.java
+++ b/user/test/com/google/gwt/emultest/java/lang/MathTest.java
@@ -366,18 +366,27 @@
 
     double v = Math.log(Math.E);
     assertEquals(1.0, v, 1e-15);
+
+    for (double d = -10; d < 10; d += 0.5) {
+      double answer = Math.log(Math.exp(d));
+      assertEquals(d, answer, 0.000000001);
+    }
   }
 
   public void testLog10() {
     assertNaN(Math.log10(Double.NaN));
     assertNaN(Math.log10(Double.NEGATIVE_INFINITY));
     assertNaN(Math.log10(-1));
+    assertNaN(Math.log10(-2541.057456872342));
+    assertNaN(Math.log10(-0.1));
     assertEquals(Double.POSITIVE_INFINITY, Math.log10(Double.POSITIVE_INFINITY));
     assertEquals(Double.NEGATIVE_INFINITY, Math.log10(0.0));
     assertEquals(Double.NEGATIVE_INFINITY, Math.log10(-0.0));
-
-    double v = Math.log10(1000.0);
-    assertEquals(3.0, v, 1e-15);
+    assertEquals(3.0, Math.log10(1000.0), 1e-15);
+    assertEquals(14.0, Math.log10(Math.pow(10, 14)));
+    assertEquals(3.73895612695404, Math.log10(5482.2158), 1e-15);
+    assertEquals(308.25471555991675, Math.log10(Double.MAX_VALUE));
+    assertEquals(-323.30621534311575, Math.log10(Double.MIN_VALUE), 1e-10);
   }
 
   public void testLog1p() {
@@ -386,11 +395,16 @@
     assertNaN(Math.log1p(Double.NEGATIVE_INFINITY));
     assertEquals(Double.POSITIVE_INFINITY, Math.log1p(Double.POSITIVE_INFINITY));
     assertEquals(Double.NEGATIVE_INFINITY, Math.log1p(-1));
+    assertEquals(Double.MIN_VALUE, Math.log1p(Double.MIN_VALUE), 1e-25);
+    assertEquals(709.782712893384, Math.log1p(Double.MAX_VALUE));
     assertPositiveZero(Math.log1p(0.0));
     assertNegativeZero(Math.log1p(-0.0));
 
     assertEquals(-0.693147180, Math.log1p(-0.5), 1e-7);
     assertEquals(1.313261687, Math.log1p(Math.E), 1e-7);
+    assertEquals(-0.2941782295312541, Math.log1p(-0.254856327), 1e-7);
+    assertEquals(7.368050685564151, Math.log1p(1583.542));
+    assertEquals(0.4633708685409921, Math.log1p(0.5894227), 1e-15);
   }
 
   public void testPow() {
@@ -427,6 +441,7 @@
     assertEquals(Double.POSITIVE_INFINITY, Math.pow(Double.NEGATIVE_INFINITY, 2));
     assertEquals(Double.NEGATIVE_INFINITY, Math.pow(-0.0, -1));
     assertEquals(Double.NEGATIVE_INFINITY, Math.pow(Double.NEGATIVE_INFINITY, 1));
+    assertEquals(Double.NEGATIVE_INFINITY, Math.pow(-10.0, 3.093403029238847E15));
 
     assertEquals(9, Math.pow(3, 2));
   }