Changes between Version 33 and Version 34 of DataParallel/Replicate


Ignore:
Timestamp:
Aug 16, 2011 1:18:03 PM (4 years ago)
Author:
chak
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • DataParallel/Replicate

    v33 v34  
    116116vsegs: [:0, 0, 0:]
    117117pstart: [:0:]
    118 plen:   [ 3:]
     118plen:   [:3:]
    119119data:  [:1, 2, 3:])
    120120}}}
     
    129129will now be
    130130{{{
    131 start: [:0, 0, 1, 1, 1:]
    132 len:   [:2, 1:]
     131vsegs: [:0, 0, 1, 1, 1:]
     132pstart: [0, 2:]
     133plen:  [:2, 1:]
    133134data:  [:1, 2, 3:])
    134135}}}
     
    152153With overlapping segments, we have
    153154{{{
    154 (as_start, as_len, as_data) !:^ is = bpermutePA as_data (as_start +^ is)
    155 }}}
    156 In the case of `smvm`, where the first argument is produced by `replicatePA (lengthPA row) v`, we have `as_start = replicatePA (lengthPA row) 0` and `as-data = v`.  In other words, lifted indexing draws from a single copy of `v`, which is what we wanted.
     155(as_vsegs, as_pstart, as_plen, as_data) !:^ is = bpermutePA as_data (bpermutePA as_start as_vsegs +^ is)
     156}}}
     157In the case of `smvm`, where the first argument is produced by `replicatePA (lengthPA row) v`, we have `as_vsegs = replicatePA (lengthPA row) 0` and `as-data = v`.  In other words, lifted indexing draws from a single copy of `v`, which is what we wanted.
    157158
    158159=== Reduction ===