Circle


o.
Improved
initial writing: 2002-11-13
last updated: 2004-10-26



The dyad o. circle function has been made more efficient
in time and space on real arguments with real results. For example:


   x=: 0.001*_500+?1e5$1000
   y=: (*x)+x+0=x
   z=: |y
   ts=: 6!:2 , 7!:2@]  NB. time and space
   ts 'expression'
Expression     J 5.02     J 5.01     Ratio
_7 o. x   0.0262740   1.04922e6   0.228579   5.24358e6   8.70   5.00
_6 o. z   0.0317026   1.04922e6   0.301152   5.24358e6   9.50   5.00
_5 o. x   0.0333802   1.04922e6   0.275311   5.24358e6   8.25   5.00
_4 o. y   0.0187753   1.04922e6   0.226301   5.24358e6   12.05   5.00
_3 o. x   0.0348033   1.04922e6   0.292260   5.24358e6   8.40   5.00
_2 o. x   0.0566949   1.04922e6   0.182072   5.24358e6   3.21   5.00
_1 o. x   0.0558347   1.04922e6   0.163727   5.24358e6   2.93   5.00
 0 o. x   0.0129550   1.04922e6   0.169990   5.24358e6   13.12   5.00
 1 o. x   0.0248325   1.04922e6   0.140806   5.24358e6   5.67   5.00
 2 o. x   0.0261544   1.04922e6   0.139136   5.24358e6   5.32   5.00
 3 o. x   0.0322787   1.04922e6   0.207790   5.24358e6   6.44   5.00
 4 o. x   0.0129360   1.04922e6   0.182361   5.24358e6   14.10   5.00
 5 o. x   0.0851955   1.04922e6   0.305229   5.24358e6   3.58   5.00
 6 o. x   0.0877715   1.04922e6   0.298816   5.24358e6   3.40   5.00
 7 o. x   0.0955809   1.04922e6   0.519837   5.24358e6   5.44   5.00