RosettaCodeData/Task/Arithmetic-geometric-mean/Tcl/arithmetic-geometric-mean.tcl
2013-04-10 14:58:50 -07:00

10 lines
222 B
Tcl

proc agm {a b} {
set old_b [expr {$b<0?inf:-inf}]
while {$a != $b && $b != $old_b} {
set old_b $b
lassign [list [expr {0.5*($a+$b)}] [expr {sqrt($a*$b)}]] a b
}
return $a
}
puts [agm 1 [expr 1/sqrt(2)]]