aboutsummaryrefslogtreecommitdiffstats
path: root/buch/papers/0f1/listings/kettenbruchRekursion.c
diff options
context:
space:
mode:
authorPatrik Müller <36931350+p1mueller@users.noreply.github.com>2022-07-25 10:07:38 +0200
committerGitHub <noreply@github.com>2022-07-25 10:07:38 +0200
commit65692efda98ddc227db40aa181ee20aee1696010 (patch)
tree9214ba6c07c0bd0281a0c043180bd419607643fc /buch/papers/0f1/listings/kettenbruchRekursion.c
parentAdd missing explanations, correct typos, mention sign change of LP earlier (diff)
parentfix brace-problem (diff)
downloadSeminarSpezielleFunktionen-65692efda98ddc227db40aa181ee20aee1696010.tar.gz
SeminarSpezielleFunktionen-65692efda98ddc227db40aa181ee20aee1696010.zip
Merge branch 'AndreasFMueller:master' into master
Diffstat (limited to 'buch/papers/0f1/listings/kettenbruchRekursion.c')
-rw-r--r--buch/papers/0f1/listings/kettenbruchRekursion.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/buch/papers/0f1/listings/kettenbruchRekursion.c b/buch/papers/0f1/listings/kettenbruchRekursion.c
new file mode 100644
index 0000000..958d4e1
--- /dev/null
+++ b/buch/papers/0f1/listings/kettenbruchRekursion.c
@@ -0,0 +1,19 @@
+static double fractionIter0f1(const double b0, const double z, unsigned int n)
+{
+ double a = 0.0;
+ double b = 0.0;
+ double abn = 0.0;
+ double temp = 0.0;
+
+ for (; n > 0; --n)
+ {
+ abn = z / (n * ((n - 1) + b0)); //abn = ak, bk
+
+ a = n > 1 ? (1 + abn) : 1; //a0, a1
+ b = n > 1 ? -abn : abn; //b1
+
+ temp = b / (a + temp);
+ }
+
+ return a + temp; //a0 + temp
+} \ No newline at end of file