///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); }
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)); }
public void Evaluate_TestInvalidArg() { Assert.Throws <ArgumentException>(() => ContinuedFraction.Evaluate(new double[] { })); Assert.Throws <ArgumentException>(() => ContinuedFraction.Evaluate(null)); }
public void Evaluate_Test(double[] a, double expected) { Assert.That(ContinuedFraction.Evaluate(a), Is.EqualTo(expected).Within(1.0e-14)); }