示例#1
0
        ///https://oeis.org/A001203
        public void continued_fration_pi()
        {
            var seq = new[] { 3d, 7d, 15d, 1d, 292d, 1d, 1d };

            // Define the argumetns for the Continued Fraction.
            double fa(int n, double[] a) => a[n];
            double fb(int n, double[] a) => 1;

            var cf = new ContinuedFraction(fa, fb);

            var pi = cf.Evaluate(seq.Length, seq);

            Assert.Equal(pi, Math.PI, DecimalPrecision);
        }
示例#2
0
 public void Evaluate_TestGoldenRatio()
 {
     Assert.That(ContinuedFraction.Evaluate(Enumerable.Repeat(1.0, 40).ToArray()),
                 Is.EqualTo(0.5 * (Math.Sqrt(5.0) + 1.0)).Within(1.0e-16));
 }
示例#3
0
 public void Evaluate_TestInvalidArg()
 {
     Assert.Throws <ArgumentException>(() => ContinuedFraction.Evaluate(new double[] { }));
     Assert.Throws <ArgumentException>(() => ContinuedFraction.Evaluate(null));
 }
示例#4
0
 public void Evaluate_Test(double[] a, double expected)
 {
     Assert.That(ContinuedFraction.Evaluate(a), Is.EqualTo(expected).Within(1.0e-14));
 }