Exemplo n.º 1
0
        public void GetValue_GridPointArgument_GridPointValue(MklGridPointCurve.Interpolator interpolation, GridPointCurve.Extrapolator leftExtrapolation, GridPointCurve.Extrapolator rightExtrapolation)
        {
            var gridPointCurve = GridPointCurve.Create(interpolation, leftExtrapolation, rightExtrapolation);

            gridPointCurve.Add(1.5, 2.0);
            gridPointCurve.Add(0.5, 1.25);
            gridPointCurve.Add(5.75, 9.75);
            gridPointCurve.Add(4.0, 12.25);
            gridPointCurve.Add(8.0, 7.5);

            gridPointCurve.Update();

            Assume.That(gridPointCurve.FittingQuality == FittingQuality.Exact);

            Assert.That(gridPointCurve.IsOperable);
            for (int j = 0; j < gridPointCurve.GridPointCount; j++)
            {
                double expected = gridPointCurve.GridPointValues[j];
                double actual   = gridPointCurve.GetValue(gridPointCurve.GridPointArguments[j]);

                Assert.That(actual, Is.EqualTo(expected).Within(1E-6), String.Format("Grid Point argument: {0}; Grid Point value: {1}; null-based Grid Point index {2}.", gridPointCurve.GridPointArguments[j], gridPointCurve.GridPointValues[j], j));
            }
        }
Exemplo n.º 2
0
 /// <summary>Initializes a new instance of the <see cref="MklCurveInterpolationSpline" /> class.
 /// </summary>
 internal MklCurveInterpolationSpline()
 {
     NaturalCubicSpline = new MklDataFitting(SplineOrder.DF_PP_CUBIC, SplineType.DF_PP_NATURAL, SplineBoundaryCondition.DF_BC_FREE_END);
     BesselCubicSpline  = new MklDataFitting(MklCurveInterpolationSpline.SplineOrder.DF_PP_CUBIC, MklCurveInterpolationSpline.SplineType.DF_PP_BESSEL, MklCurveInterpolationSpline.SplineBoundaryCondition.DF_BC_NOT_A_KNOT, null);
 }