/: and \: Improved

>> << Ndx Usr Pri Phr Dic Rel Voc !: 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

>> << Ndx Usr Pri Phr Dic Rel Voc !: wd Help Release