public void TestDouble()
        {
            TestDouble(0.0);
            TestDouble(-0.0);
            TestDouble(1.0);
            TestDouble(-1.0);
            TestDouble(Double.MaxValue);
            TestDouble(Double.MinValue);
            TestDouble(Double.NaN);
            TestDouble(Double.NegativeInfinity);
            TestDouble(Double.PositiveInfinity);
            var        sw   = Stopwatch.StartNew();
            TestRandom rand = new TestRandom();

            for (int i = 0; i < 1000; i++)
            {
                TestDouble(rand.NextDouble());
            }
            sw.Stop();
            Console.WriteLine("Double: {0:0.###} msec/object", sw.ElapsedMilliseconds / 1000.0);
        }
        public void TestAsDouble()
        {
            TestAsDouble(0.0);
            TestAsDouble(-0.0);
            TestAsDouble(1.0);
            TestAsDouble(-1.0);
            TestAsDouble(Double.MaxValue);
            TestAsDouble(Double.MinValue);
            TestAsDouble(Double.NaN);
            TestAsDouble(Double.NegativeInfinity);
            TestAsDouble(Double.PositiveInfinity);

#if !SILVERLIGHT
            var        sw   = Stopwatch.StartNew();
            TestRandom rand = new TestRandom();
            for (int i = 0; i < 1000; i++)
            {
                TestAsDouble(rand.NextDouble());
            }
            sw.Stop();
            Console.WriteLine("Double: {0:#,0.###} usec/object", GetMicroseconds(sw));
#endif // !SILVERLIGHT
        }
		public void TestAsDouble()
		{
			TestAsDouble( 0.0 );
			TestAsDouble( -0.0 );
			TestAsDouble( 1.0 );
			TestAsDouble( -1.0 );
			TestAsDouble( Double.MaxValue );
			TestAsDouble( Double.MinValue );
			TestAsDouble( Double.NaN );
			TestAsDouble( Double.NegativeInfinity );
			TestAsDouble( Double.PositiveInfinity );
			var sw = Stopwatch.StartNew();
			TestRandom rand = new TestRandom();
			for ( int i = 0; i < 100000; i++ )
			{
				TestAsDouble( rand.NextDouble() );
			}
			sw.Stop();
			Console.WriteLine( "Double: {0:#,0.###} usec/object", sw.Elapsed.Ticks / 1000000.0 );
		}