Arithmetic-geometric mean: Difference between revisions

Content added Content deleted
(Added EchoLisp)
Line 470: Line 470:
<pre>0.8472130847939790866</pre>
<pre>0.8472130847939790866</pre>
All the digits shown are exact.
All the digits shown are exact.

=={{header|EchoLisp}}==
We use the '''(~= a b)''' operator which tests for |a - b| < ε = (math-precision).
<lang scheme>
(lib 'math)

(define (agm a g)
(if (~= a g) a
(agm (// (+ a g ) 2) (sqrt (* a g)))))

(math-precision)
→ 0.000001 ;; default
(agm 1 (/ 1 (sqrt 2)))
→ 0.8472130848351929
(math-precision 1.e-15)
→ 1e-15
(agm 1 (/ 1 (sqrt 2)))
→ 0.8472130847939792
</lang>



=={{header|Elixir}}==
=={{header|Elixir}}==