Help / Release / J 5.01 / /: and \: Improved

From J Wiki
Jump to navigation Jump to search


>> << Pri JfC LJ Phr Dic Voc !: Rel NuVoc wd Help Release



/: and \: Improved

initial writing: 2002-04-15
last updated: 2002-10-26


The dyad /: when the left and right arguments are the same boolean, literal, integer, or floating point vector, is now more efficient in time and space. Likewise for the dyad /:"1 when the left and right arguments are the same boolean, literal, integer, or floating point array; likewise for the monads /:~ and /:~"1 and /:"1~ ; likewise for \: instead of /: .


   ts=: 6!:2 , 7!:2@]           time and space

   b=: ?1e6$2                   boolean
   c=: a.{~?1e6$#a.             literal
   i=: _5e3+?1e6$1e4            integer
   j=: _5e5+?1e6$1e6            integer
   k=: _5e8+?1e6$1e9            integer
   d=: 0.01 * _5e8+?1e6$1e9     floating point

Expression     J 5.01      J 4.06      ratio
/:~b boolean  0.00878715 1.04934e6  0.141366  9.43795e6  16.09  8.99
/:~c literal  0.0190410   1.04934e6  0.179816  9.43795e6    9.44  8.99
/:~i integer  0.0810399   4.26061e6  0.349042  1.25837e7    4.31  2.95
/:~j integer  0.282443     8.38938e6  0.767728  1.25837e7    2.72  1.50
/:~k integer  0.543127     8.91366e6  0.905413  1.25837e7    1.67  1.41
/:~d floating point  0.936980     1.73023e7  1.60221    1.67780e7    1.71  0.97




>> << Pri JfC LJ Phr Dic Voc !: Rel NuVoc wd Help Release