Changeset 1859 for proto/parabix2


Ignore:
Timestamp:
Jan 19, 2012, 8:35:17 PM (7 years ago)
Author:
ksherdy
Message:

Removed cfzl.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • proto/parabix2/src/TagMatcher.hpp

    r1624 r1859  
    1111
    1212
    13 typedef unsigned long ScanBlock;
    1413#define MAX_DEPTH 100
    1514#define MAX_ATTS 100
     
    7877      }
    7978    }
    80     if (lgth > cfzl(~hsimd128<8>::signmask(simd<8>::eq(bitblock::load_unaligned((BitBlock*)&s1[i]),
    81                                                   bitblock::load_unaligned((BitBlock*)&s2[i])))))
    82       return 0;
    83     else return 1;
     79
     80        scanword_t temp = ~hsimd128<8>::signmask(simd<8>::eq(bitblock::load_unaligned((BitBlock*)&s1[i]),
     81                                                  bitblock::load_unaligned((BitBlock*)&s2[i])));
     82
     83        if(temp > 0) {
     84        if (lgth > scan_forward_zeroes(temp)){
     85                return 0;
     86                }
     87        }
     88    else {
     89                return 1;
     90        }
    8491}
    8592
     
    180187
    181188        int blk;
    182         int blk_counts = (chars_avail+sizeof(ScanBlock)*8-1)/(sizeof(ScanBlock)*8);
     189        int blk_counts = (chars_avail+sizeof(scanword_t)*8-1)/(sizeof(scanword_t)*8);
    183190        int block_pos = 0;
    184191
     
    199206        }
    200207        for (blk = 0; blk < blk_counts; blk++) {
    201                 ScanBlock s = ((ScanBlock*)tagMarks)[blk];
     208                scanword_t s = ((scanword_t*)tagMarks)[blk];
    202209                while(s) {
    203                         int code = tag_match(cfzl(s) + block_pos, chars_avail);
     210                        int code = tag_match(scan_forward_zeroes(s) + block_pos, chars_avail);
    204211                        if (code) return code;
    205212                        s = s & (s-1);  // clear rightmost bit.
    206213                }
    207                 block_pos += 8 * sizeof(ScanBlock);
     214                block_pos += 8 * sizeof(scanword_t);
    208215        }
    209216
Note: See TracChangeset for help on using the changeset viewer.