following commit. tests pass.
auto end = std::chrono::steady_clock::now();
total_sec += std::chrono::duration_cast<std::chrono::microseconds>(end - start).count();
/*calculate transferred size*/
- total_size = size * loops;
+ total_size = (u64a)size * (u64a)loops;
/*calculate average time*/
avg_time = total_sec / loops;
/*convert microseconds to seconds*/
if (!som) {
mergeCyclicDotStars(g);
- }
-
- if (!som) {
removeSiblingsOfStartDotStar(g);
}
}
return true;
}
}
- }
+ // }
// Second option: a two-byte shufti (i.e. less than eight 2-byte
// literals)
- if (depth > 1) {
+ // if (depth > 1) {
for (unsigned int i = 0; i < (depth - 1); i++) {
if (depthReach[i].count() * depthReach[i+1].count()
<= DOUBLE_SHUFTI_LIMIT) {
boost::depth_first_search(c_g, visitor(backEdgeVisitor)
.root_vertex(c_g.start));
- for (const auto &e : be) {
- NFAVertex s = source(e, c_g);
- NFAVertex t = target(e, c_g);
- DEBUG_PRINTF("back edge %zu %zu\n", c_g[s].index, c_g[t].index);
- if (s != t) {
- assert(0);
- DEBUG_PRINTF("eek big cycle\n");
- rv = true; /* big cycle -> eek */
- goto exit;
- }
- }
+ // with be.clear right above does this ever run at all?
+ //for (const auto &e : be) {
+ // NFAVertex s = source(e, c_g);
+ // NFAVertex t = target(e, c_g);
+ // DEBUG_PRINTF("back edge %zu %zu\n", c_g[s].index, c_g[t].index);
+ // if (s != t) {
+ // assert(0);
+ // DEBUG_PRINTF("eek big cycle\n");
+ // rv = true; /* big cycle -> eek */
+ // goto exit;
+ // }
+ //}
DEBUG_PRINTF("checking acyclic+selfloop graph\n");
!lit_prog.empty()) {
auto &cfrag = fragments[pfrag.included_frag_id];
assert(pfrag.s.length() >= cfrag.s.length() &&
- !pfrag.s.any_nocase() >= !cfrag.s.any_nocase());
+ !pfrag.s.any_nocase() == !cfrag.s.any_nocase());
+ /** !pfrag.s.any_nocase() >= !cfrag.s.any_nocase()); **/
u32 child_offset = cfrag.lit_program_offset;
DEBUG_PRINTF("child %u offset %u\n", cfrag.fragment_id,
child_offset);
if (pfrag.included_delay_frag_id != INVALID_FRAG_ID &&
!rebuild_prog.empty()) {
auto &cfrag = fragments[pfrag.included_delay_frag_id];
- assert(pfrag.s.length() >= cfrag.s.length() &&
+ /** assert(pfrag.s.length() >= cfrag.s.length() && **/
+ assert(pfrag.s.length() == cfrag.s.length() &&
!pfrag.s.any_nocase() >= !cfrag.s.any_nocase());
u32 child_offset = cfrag.delay_program_offset;
DEBUG_PRINTF("child %u offset %u\n", cfrag.fragment_id,
return; /* bail - TODO: be less lazy */
}
- vector<CharReach> rem_local_cr;
+ //vector<CharReach> rem_local_cr;
u32 ok_count = 0;
for (auto it = e.s.end() - g[v].left.lag; it != e.s.end(); ++it) {
if (!isSubsetOf(*it, cr)) {
class ParsedExpr {
public:
- ParsedExpr(string regex_in, unsigned int flags_in, hs_expr_ext ext_in)
+ ParsedExpr(string regex_in, unsigned int flags_in, hs_expr_ext& ext_in)
: regex(regex_in), flags(flags_in), ext(ext_in) {}
~ParsedExpr() {}
string regex;
UNUSED const char *eof = pe;
UNUSED const char *ts = p, *te = p;
int cs;
- UNUSED int act;
+ //UNUSED int act;
assert(p);
assert(pe);
} // namespace ue2
struct CorpusGenerationFailure {
- explicit CorpusGenerationFailure(const std::string s) :
+ explicit CorpusGenerationFailure(const std::string& s) :
message(std::move(s)) {}
std::string message;
};