@@ -459,74 +459,6 @@ void ewah_xor(
459459 out -> bit_size = max_size (ewah_i -> bit_size , ewah_j -> bit_size );
460460}
461461
462- void ewah_and (
463- struct ewah_bitmap * ewah_i ,
464- struct ewah_bitmap * ewah_j ,
465- struct ewah_bitmap * out )
466- {
467- struct rlw_iterator rlw_i ;
468- struct rlw_iterator rlw_j ;
469- size_t literals ;
470-
471- rlwit_init (& rlw_i , ewah_i );
472- rlwit_init (& rlw_j , ewah_j );
473-
474- while (rlwit_word_size (& rlw_i ) > 0 && rlwit_word_size (& rlw_j ) > 0 ) {
475- while (rlw_i .rlw .running_len > 0 || rlw_j .rlw .running_len > 0 ) {
476- struct rlw_iterator * prey , * predator ;
477-
478- if (rlw_i .rlw .running_len < rlw_j .rlw .running_len ) {
479- prey = & rlw_i ;
480- predator = & rlw_j ;
481- } else {
482- prey = & rlw_j ;
483- predator = & rlw_i ;
484- }
485-
486- if (predator -> rlw .running_bit == 0 ) {
487- ewah_add_empty_words (out , 0 ,
488- predator -> rlw .running_len );
489- rlwit_discard_first_words (prey ,
490- predator -> rlw .running_len );
491- rlwit_discard_first_words (predator ,
492- predator -> rlw .running_len );
493- } else {
494- size_t index = rlwit_discharge (prey , out ,
495- predator -> rlw .running_len , 0 );
496- ewah_add_empty_words (out , 0 ,
497- predator -> rlw .running_len - index );
498- rlwit_discard_first_words (predator ,
499- predator -> rlw .running_len );
500- }
501- }
502-
503- literals = min_size (
504- rlw_i .rlw .literal_words ,
505- rlw_j .rlw .literal_words );
506-
507- if (literals ) {
508- size_t k ;
509-
510- for (k = 0 ; k < literals ; ++ k ) {
511- ewah_add (out ,
512- rlw_i .buffer [rlw_i .literal_word_start + k ] &
513- rlw_j .buffer [rlw_j .literal_word_start + k ]
514- );
515- }
516-
517- rlwit_discard_first_words (& rlw_i , literals );
518- rlwit_discard_first_words (& rlw_j , literals );
519- }
520- }
521-
522- if (rlwit_word_size (& rlw_i ) > 0 )
523- rlwit_discharge_empty (& rlw_i , out );
524- else
525- rlwit_discharge_empty (& rlw_j , out );
526-
527- out -> bit_size = max_size (ewah_i -> bit_size , ewah_j -> bit_size );
528- }
529-
530462void ewah_and_not (
531463 struct ewah_bitmap * ewah_i ,
532464 struct ewah_bitmap * ewah_j ,
0 commit comments