Computation of arctan(x) by AG means


function arctan ( x : number ) : number; var q, s, v, w : number; begin s := sqrteps; v := x / (1 + sqrt(1+x*x)); q := 1; while 1-s > epsilon do begin q := 2*q / (1+s); w := 2*s*v / (1+v*v); w := w / (1 + sqrt(1-w*w)); w := (v+w) / (1-v*w); v := w / (1 + sqrt(1+w*w)); s := 2*sqrt(s) / (1+s) end; arctan := q * ln( (1+v)/(1-v) ) end;

Pascal source (623.arctan.p)



© Addison-Wesley Publishing Co. Inc.