예제 #1
0
        public void TestInterpolationPointReplacement()
        {
            IWriteableInterpolable interp  = new SmallDoubleInterpolable(2);
            IInterpolable          interp2 = (IInterpolable)interp;

            interp.SetYValue(3.3, 6.6);
            interp.SetYValue(4.4, 8.8);
            interp.SetYValue(7.7, 12.8);
            interp.SetYValue(13.2, 22.8);

            interp.SetYValue(7.7, 17.8);
            Verify(interp2, 8.8, 18.8);
        }
예제 #2
0
        public void TestInterpolationFrom2Points()
        {
            IWriteableInterpolable interp  = new SmallDoubleInterpolable(2);
            IInterpolable          interp2 = (IInterpolable)interp;

            interp.SetYValue(3.3, 6.6);
            interp.SetYValue(4.4, 8.8);

            Verify(interp2, 5.5, 11);
            Verify(interp2, 4.4, 8.8);
            Verify(interp2, 3.85, 7.7);
            Verify(interp2, 3.3, 6.6);
            Verify(interp2, 2.2, 4.4);
            Verify(interp2, 0.0, 0.0);
            Verify(interp2, -2.2, -4.4);
        }
예제 #3
0
        public void TestInterpolationFrom4Points()
        {
            IWriteableInterpolable interp  = new SmallDoubleInterpolable(4);
            IInterpolable          interp2 = (IInterpolable)interp;

            interp.SetYValue(4.8, 2.7);
            interp.SetYValue(3.2, 1.5);
            interp.SetYValue(6.0, 4.5);
            interp.SetYValue(0.8, 0.6);

            Verify(interp2, 7.2, 6.3);
            Verify(interp2, 6.0, 4.5);
            Verify(interp2, 5.2, 3.3);
            Verify(interp2, 4.8, 2.7);
            Verify(interp2, 4.0, 2.1);
            Verify(interp2, 3.2, 1.5);
            Verify(interp2, 1.6, 0.9);
            Verify(interp2, 0.8, 0.6);
            Verify(interp2, 0.0, 0.3);
            Verify(interp2, -0.8, 0.0);
        }