8 lines
237 B
Text
8 lines
237 B
Text
function agm(atom a, atom g, atom tolerance=1.0e-15)
|
|
while abs(a-g)>tolerance do
|
|
{a,g} = {(a + g)/2,sqrt(a*g)}
|
|
printf(1,"%0.15g\n",a)
|
|
end while
|
|
return a
|
|
end function
|
|
?agm(1,1/sqrt(2)) -- (rounds to 10 d.p.)
|