Continued fraction: Difference between revisions

Content added Content deleted
m (Fix Perl6 -> Raku in comments)
m (→‎{{header|Phix}}: tidied up)
Line 1,963: Line 1,963:
=={{header|Phix}}==
=={{header|Phix}}==
{{trans|ALGOL_68}}
{{trans|ALGOL_68}}
<lang Phix>function continued_fraction(integer steps, integer rid_a, integer rid_b)
<lang Phix>function continued_fraction(integer steps, fa, fb)
atom res = 0
atom res = 0
for n=steps to 1 by -1 do
for n=steps to 1 by -1 do
res := call_func(rid_b,{n}) / (call_func(rid_a,{n}) + res)
res := fb(n) / (fa(n) + res)
end for
end for
return call_func(rid_a,{0}) + res
return fa(0) + res
end function
end function
Line 1,983: Line 1,983:
printf(1,"Precision: %d\n", {precision})
printf(1,"Precision: %d\n", {precision})
printf(1,"Sqr(2): %.10g\n", {continued_fraction(precision, routine_id("sqr2_a"), routine_id("sqr2_b"))})
printf(1,"Sqr(2): %.10g\n", {continued_fraction(precision, sqr2_a, sqr2_b)})
printf(1,"Napier: %.10g\n", {continued_fraction(precision, routine_id("nap_a"), routine_id("nap_b"))})
printf(1,"Napier: %.10g\n", {continued_fraction(precision, nap_a, nap_b)})
printf(1,"Pi: %.10g\n", {continued_fraction(precision, routine_id("pi_a"), routine_id("pi_b"))})</lang>
printf(1,"Pi: %.10g\n", {continued_fraction(precision, pi_a, pi_b)})</lang>
{{Out}}
{{Out}}
<pre>
<pre>