@@ -459,79 +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_not (
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 && prey == & rlw_i ) ||
487- (!predator -> rlw .running_bit && prey != & rlw_i )) {
488- ewah_add_empty_words (out , 0 ,
489- predator -> rlw .running_len );
490- rlwit_discard_first_words (prey ,
491- predator -> rlw .running_len );
492- rlwit_discard_first_words (predator ,
493- predator -> rlw .running_len );
494- } else {
495- size_t index ;
496- int negate_words ;
497-
498- negate_words = (& rlw_i != prey );
499- index = rlwit_discharge (prey , out ,
500- predator -> rlw .running_len , negate_words );
501- ewah_add_empty_words (out , negate_words ,
502- predator -> rlw .running_len - index );
503- rlwit_discard_first_words (predator ,
504- predator -> rlw .running_len );
505- }
506- }
507-
508- literals = min_size (
509- rlw_i .rlw .literal_words ,
510- rlw_j .rlw .literal_words );
511-
512- if (literals ) {
513- size_t k ;
514-
515- for (k = 0 ; k < literals ; ++ k ) {
516- ewah_add (out ,
517- rlw_i .buffer [rlw_i .literal_word_start + k ] &
518- ~(rlw_j .buffer [rlw_j .literal_word_start + k ])
519- );
520- }
521-
522- rlwit_discard_first_words (& rlw_i , literals );
523- rlwit_discard_first_words (& rlw_j , literals );
524- }
525- }
526-
527- if (rlwit_word_size (& rlw_i ) > 0 )
528- rlwit_discharge (& rlw_i , out , ~0 , 0 );
529- else
530- rlwit_discharge_empty (& rlw_j , out );
531-
532- out -> bit_size = max_size (ewah_i -> bit_size , ewah_j -> bit_size );
533- }
534-
535462void ewah_or (
536463 struct ewah_bitmap * ewah_i ,
537464 struct ewah_bitmap * ewah_j ,
0 commit comments