\ ftrig2 05.08.09 NAB needs fatan needs ftrig : ftan ( F: f1 -- f2 ) fdup fsin fswap fcos f/ ; : fatan2 ( F: y x -- f ) fdup f0= ( x=0? ) if fdrop fdup f0= 0= ( y=0? ) if f0< pi if fnegate then 2e f/ then exit then fover f0< ( y<0) fdup f0< ( x<0) f/ fatan if ( x<0) pi if ( y<0) f- else f+ then else drop then ; : facos ( F: r1 -- r2 ) 1e fover fdup f* ( Cr1 1 Cr1^2 ) f- fsqrt ( Cr1 1-Cr1^2^.5 ) fswap fatan2 ; : fasin ( F: r1 -- r2 ) 1e fover fdup f* ( Sr1 1 Sr1^2 ) f- fsqrt ( Sr1 1-Sr1^2^.5 ) fatan2 ;