atan.cef


#!/usr/local/bin/clip
#\!- <val>
:float \16
:rad 1 # この関数は、角度を返します。

:define N 24
:define PI 3.14159265358979323846264

if   @0 >   1; @s =   1; @0 = 1 / @0
elif @0 < \-1; @s = \-1; @0 = 1 / @0
else;          @s =   0
endif

@a = 0
for @i = N; @i >= 1; @i--
        @a = (@i * @i * @0 * @0) / (2 * @i + 1 + @a)
next

if   @s > 0;    PI / 2 - @0 / (1 + @a)
elif @s < 0; [-]PI / 2 - @0 / (1 + @a)
else;                    @0 / (1 + @a)
endif

参考:「C言語による最新アルゴリズム事典」 奥村晴彦=著 技術評論社