" <-APL2-------------------- sam287.txt ---------------------------->
F`1'sine of ' t ' degrees = ' (1OO(t#30)%180)
F`1'cosine of ' t ' degrees = ' (2OO(t#45)%180)
F`1'arcsine of ' t ' = ' ((-1Ot#.5)X180%O1) ' degrees'
F`1'arctan of ' t ' = ' ((-3Ot#1)X180%O1) ' degrees'
" <----------------------------------------------------------------->
Gz#k circle r;a;b;c;d;e;f
b#arctanh arccosh arcsinh arctan arccos arcsin sin cos tan sinh cosh tanh
c#1 2 3 5 6 7 9 10 11 13 14 15
z#I0 " Initialize result.
loop:$doneXI0=R,k
a#1Yk
k#1Uk
$(c=a+8)/b
z#'bad selection = ',Fk
$0
arctanh: z#z,`ZaOr " -7
$loop
arccosh: z#z,`ZaOr " -6
$loop
arcsinh: z#z,`ZaOr " -5
$loop
arctan: d#aOr " -3
(e/,d)#(O1)+(e#1>9O,d)/,d " Add pitimes(1) where real(d) < 1.
z#z,`Zd
$loop
arccos: d#aOr " -2
(e/,d)#(O2)+(e#0K11O,r)/,d " e is 1 where imag(r) >= 0.
" if (*(r+1)>0)
" *d+=pitimes(2);
(f/,d)#_(f#~e)/,d " else { *d=-*d; *(d+1)=-*(d+1); }
z#z,`Zd
$loop
arcsin: d#aOr " -1
(e/,d)#(O1)_(e#0K11O,r)/,d " e is 1 where imag(r) -ge 0.
" if (*(r+1)>0) {
" *d=pitimes(1)-*d;
" *(d+1)=-*(d+1);
" }
(f/,d)#(O2)+(f#(~e)&0>9O,r)/,d " f is 1 where imag(r)<0 && real(r)<0.
" if (*r<0 && *(r+1)<0)
" *d+=pitimes(2);
z#z,`Zd
$loop
sin: z#z,`ZaOr " 1
$loop
cos: z#z,`ZaOr " 2
$loop
tan: z#z,`ZaOr " 3
$loop
sinh: z#z,`ZaOr " 5
$loop
cosh: z#z,`ZaOr " 6
$loop
tanh: z#z,`ZaOr " 7
$loop
done:$I0
G
Lpp#4
c#Rn#'sin' 'cos' 'tan' 'sinh' 'cosh' 'tanh'
b# 1 2 3 5 6 7
(n,(c,(Ru))Ru),[2]((c,e#Rt)Ru#F`1t),F`1a#bJ.Ow#tJ.+0j1Xt#I5
((m#'a',`1n),(c,(Ru))Ru),[2]((c,Rt)Ru),F`1f#((Ra)R`X(`Ze e)J.R_b)Oa
a[3;;]
f[3;;]
Lfx 'z#atan r' 'z#-3Or'
atan a[3;;]
-3 circle a[3;;]
Lex 'demo'
Gz#m demo n;s;t;u;v;w;x;y;a;b;c
v#s,u#(a#n[1])Os#t 1R(m_+/(St%2)Xy)+x#(It#n[2])Xy#1%n[3]
z#v,w,(w+O1),(w#(_a)Ou)+O2
c#(F_a),'O',b#(Fa),'Oin'
z#'in' b c ('(',c,')+O1') ('(',c,')+O2'),[1]z
G
(0j1_8XO1%4) demo 1,6,10
(0j1_7XO1%4) demo 1,6,10
(0j1_6XO1%4) demo 1,6,10
(0j1_5XO1%4) demo 1,6,10
(0j1_4XO1%4) demo 1,6,10
(0j1_3XO1%4) demo 1,6,10
(0j1_2XO1%4) demo 1,6,10
(0j1_1XO1%4) demo 1,6,10
(0j1+0XO1%4) demo 1,6,10
(0j1+1XO1%4) demo 1,6,10
(0j1+2XO1%4) demo 1,6,10
(0j1+3XO1%4) demo 1,6,10
(0j1+4XO1%4) demo 1,6,10
(0j1+5XO1%4) demo 1,6,10
(0j1+6XO1%4) demo 1,6,10
(0j1+7XO1%4) demo 1,6,10
(0j1+8XO1%4) demo 1,6,10
(0j1_8XO1%4) demo 3,6,10
(0j1_7XO1%4) demo 3,6,10
(0j1_6XO1%4) demo 3,6,10
(0j1_5XO1%4) demo 3,6,10
(0j1_4XO1%4) demo 3,6,10
(0j1_3XO1%4) demo 3,6,10
(0j1_2XO1%4) demo 3,6,10
(0j1_1XO1%4) demo 3,6,10
(0j1+0XO1%4) demo 3,6,10
(0j1+1XO1%4) demo 3,6,10
(0j1+2XO1%4) demo 3,6,10
(0j1+3XO1%4) demo 3,6,10
(0j1+4XO1%4) demo 3,6,10
(0j1+5XO1%4) demo 3,6,10
(0j1+6XO1%4) demo 3,6,10
(0j1+7XO1%4) demo 3,6,10
(0j1+8XO1%4) demo 3,6,10
)off