Beispiel #1
0
        public void GetValue_ThreeTimesXSquare_BenchmarkResult(IOneDimNumericalIntegratorAlgorithm numericalIntegrator)
        {
            double lowerBound = 1.0;
            double upperBound = 10.0;

            Assume.That(numericalIntegrator.TrySetBounds(lowerBound, upperBound) == true, String.Format("1-dimensional Integrator {0} does not support individual lower/upper bounds", numericalIntegrator.Factory.Name.String));

            numericalIntegrator.FunctionToIntegrate = x => 3.0 * x * x;

            double expected = upperBound * upperBound * upperBound - lowerBound * lowerBound * lowerBound;
            var    actual   = numericalIntegrator.GetValue();

            Assert.That(actual, Is.EqualTo(expected).Within(1E-4), String.Format("1-dimensional integrator {0}.", numericalIntegrator.Factory.Name));
        }
Beispiel #2
0
        public void GetValue_ExponentialFunction_BenchmarkResult(IOneDimNumericalIntegratorAlgorithm numericalIntegrator)
        {
            double lowerBound = 1.0;
            double upperBound = 10.0;

            Assume.That(numericalIntegrator.TrySetBounds(lowerBound, upperBound) == true, String.Format("1-dimensional Integrator {0} does not support individual lower/upper bounds", numericalIntegrator.Factory.Name.String));

            numericalIntegrator.FunctionToIntegrate = x => Math.Exp(x);

            double expected = Math.Exp(upperBound) - Math.Exp(lowerBound);
            double actual   = numericalIntegrator.GetValue();

            Assert.That(actual, Is.EqualTo(expected).Within(1E-1), String.Format("1-dimensional integrator {0}.", numericalIntegrator.Factory.Name));
        }