< i. 1: Improved

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

< i. 1: Improved | initial writing: 2002-02-13 last updated: 2004-10-26

The following dyads are now supported by special code for Boolean, integer, floating point, or literal vectors or scalars:

`` | `comp i. 0:` | `` | `i.&0@:comp`
`` | `comp i. 1:` |  | `i.&1@:comp`
`` | `comp i: 0:` |  | `i:&0@:comp`
`` | `comp i: 1:` |  | `i:&1@:comp`
`` | `[: +/ comp` |  | `+/@:comp`

where`comp` is one of`= ~: < <: >: > E.` (`< <: >: >` not available for literal). Time and space savings depend on the arguments used. For example:

       ts=: 6!:2 , 7!:2@]    NB. time and space
       x=: ?1e6$1e9
       y=: 1.5e9

       ts '+/x<y'
    0.0339839 1.04973e6
       ts 'x +/@:< y'        NB. scan entire x
    0.0205264 1280

       ts '(x<y) i. 1'
    0.0295772 1.04941e6
       ts 'x (< i. 1:) y'    NB. immediate hit
    4.1346e_5 1216

       ts '(x>:y) i. 1'
    0.0393262 1.04954e6
       ts 'x (>: i. 1:) y'   NB. scan entire x
    0.0218871 1216

       x1=: y 5e5}x
       ts '(x1>:y)i.1'
    0.036011 1.04941e6
       ts 'x1 (>: i. 1:) y'  NB. scan half of x1
    0.0109947 1216

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