diff --git a/drama/Makefile b/drama/Makefile index 7784df8..d51b680 100644 --- a/drama/Makefile +++ b/drama/Makefile @@ -4,7 +4,7 @@ LDIR=lib BUILD=obj ODIR=src/.obj -CFLAGS=-I$(IDIR) #-ggdb +CFLAGS=-I$(IDIR) -O3 #-ggdb # CXX=g++ LDFLAGS= diff --git a/drama/src/rev-mc.c b/drama/src/rev-mc.c index 3efb209..11168ae 100644 --- a/drama/src/rev-mc.c +++ b/drama/src/rev-mc.c @@ -394,7 +394,9 @@ rev_mc(size_t sets_cnt, size_t threshold, size_t rounds, size_t m_size, char *o_ if (flags & F_VERBOSE) { print_sets(sets); } - fn_masks = find_functions(sets, 6, 30, flags); + fprintf(stderr, "Start Find Function\n"); + fn_masks = find_functions(sets, 6, 30, flags); + fprintf(stderr, "Start Find RowMask\n"); uint64_t row_mask = find_row_mask(sets, fn_masks, mem, threshold, flags); free_buffer(&mem); @@ -444,10 +446,12 @@ void filter_sets(std::vector &sets, size_t set_size) { - for (auto s = sets.begin(); s < sets.end(); s++) { + for (auto s = sets.begin(); s < sets.end();) { if (s->size() < set_size) { - sets.erase(s); - s -= 1; + s = sets.erase(s); + // s -= 1; + } else { + ++s; } } }