Check Machin-like formulas: Difference between revisions

m
→‎{{header|REXX}}: changed extra digits and optimized the sqrt function, added a comment.
m (→‎{{header|REXX}}: added/changed whitespace and comments, simplified some functions.)
m (→‎{{header|REXX}}: changed extra digits and optimized the sqrt function, added a comment.)
Line 1,011:
Atan: procedure; parse arg x; if abs(x)=1 then return pi()/4*sign(x)
return Asin(x/sqrt(1+x**2))
 
sqrt: procedure; parse arg x; if x=0 then return 0; m.=9; p=digits(); i=
sqrt: procedure; parse arg x; numeric digits 9; if x<=0 then doreturn 0; x d=-xdigits(); i='i'; end; numeric form; m.0=p9
parsenumeric valuedigits format(x,2,1,,0)9; 'E0'numeric withform; gh=d+6; 'E' _if .;x<0 then do; gx=-x; i=g*.5'Ei'_%2; m.1=pend
parse value format(x,2,1,,0) 'E0' with do j=2g 'E' while_ p>9.; m.j=p; pg=pg*.5'e'_%2+1; end /*j*/
do k=j+5 to =0 bywhile -1h>9; numeric digits m.kj=h; g h=.5*(gh%2+x/g)1; end /*kj*/
do k=j+5 to 0 by -1; numeric digits m.0k; g=(g+x/g)*.5; returnend (g/1)i<*k*/lang>
numeric digits d; return (g/1)i /*make complex if X < 0.*/</lang>
'''output'''
<pre>