Arithmetic-geometric mean: Difference between revisions

Content added Content deleted
(Added Maple implementation)
(Add NetRexx implementation)
Line 490:
agm(1, 1/sqrt(2)), bfloat, fpprec: 85;
/* 8.472130847939790866064991234821916364814459103269421850605793726597340048341347597232b-1 */</lang>
 
=={{header|NetRexx}}==
{{trans|Java}}
<lang NetRexx>/* NetRexx */
options replace format comments java crossref symbols nobinary
 
numeric digits 18
parse arg a_ g_ .
if a_ = '' | a_ = '.' then a0 = 1
else a0 = a_
if g_ = '' | g_ = '.' then g0 = 1 / Math.sqrt(2)
else g0 = g_
 
say agm(a0, g0)
 
return
 
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
method agm(a0, g0) public static returns Rexx
a1 = a0
g1 = g0
loop while (a1 - g1).abs() >= Math.pow(10, -14)
temp = (a1 + g1) / 2
g1 = Math.sqrt(a1 * g1)
a1 = temp
end
return a1 + 0
</lang>
'''Output:'''
<pre>
0.8472130847939792
</pre>
 
=={{header|OCaml}}==