* the IL code looks.
*/
-class Tests {
+#if __MOBILE__
+class MathTests
+#else
+class Tests
+#endif
+{
- public static int Main () {
- return TestDriver.RunTests (typeof (Tests));
+#if !__MOBILE__
+ public static int Main (string[] args) {
+ return TestDriver.RunTests (typeof (Tests), args);
}
+#endif
public static int test_0_sin_precision () {
double d1 = Math.Sin (1);
if (Math.Min (b, a) != b)
return (int)b;
}
+
+ if (Math.Min ((ulong)5, (ulong)6) != 5)
+ return 4;
+ if (Math.Min ((ulong)6, (ulong)5) != 5)
+ return 5;
+
+ ulong la = (ulong)long.MaxValue + 10;
+
+ for (ulong b = 7; b <= 10; ++b) {
+ if (Math.Min (la, b) != b)
+ return (int)b;
+ if (Math.Min (b, la) != b)
+ return (int)b;
+ }
+
return 0;
}
if (Math.Max (b, a) != a)
return (int)b;
}
+
+ if (Math.Max ((ulong)5, (ulong)6) != 6)
+ return 4;
+ if (Math.Max ((ulong)6, (ulong)5) != 6)
+ return 5;
+
+ ulong la = (ulong)long.MaxValue + 10;
+
+ for (ulong b = 7; b <= 10; ++b) {
+ if (Math.Max (la, b) != la)
+ return (int)b;
+ if (Math.Max (b, la) != la)
+ return (int)b;
+ }
+
return 0;
}
return 1;
return 0;
}
+
+ public static int test_0_round () {
+ if (Math.Round (5.0) != 5.0)
+ return 1;
+
+ if (Math.Round (5.000000000000001) != 5.0)
+ return 2;
+
+ if (Math.Round (5.499999999999999) != 5.0)
+ return 3;
+
+ if (Math.Round (5.5) != 6.0)
+ return 4;
+
+ if (Math.Round (5.999999999999999) != 6.0)
+ return 5;
+
+ if (Math.Round (Double.Epsilon) != 0)
+ return 6;
+
+ if (!Double.IsNaN (Math.Round (Double.NaN)))
+ return 7;
+
+ if (!Double.IsPositiveInfinity (Math.Round (Double.PositiveInfinity)))
+ return 8;
+
+ if (!Double.IsNegativeInfinity (Math.Round (Double.NegativeInfinity)))
+ return 9;
+
+ if (Math.Round (Double.MinValue) != Double.MinValue)
+ return 10;
+
+ if (Math.Round (Double.MaxValue) != Double.MaxValue)
+ return 11;
+
+ return 0;
+ }
}