From 5ce1abfadaa71a10671d503d724b4a2c40ae1452 Mon Sep 17 00:00:00 2001 From: "lperron@google.com" Date: Tue, 30 Jul 2013 02:13:15 +0000 Subject: [PATCH] transition always use compact tables --- src/constraint_solver/table.cc | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/constraint_solver/table.cc b/src/constraint_solver/table.cc index 550dff77c0..8af5ef46ef 100644 --- a/src/constraint_solver/table.cc +++ b/src/constraint_solver/table.cc @@ -1045,8 +1045,13 @@ class TransitionConstraint : public Constraint { tmp_vars.push_back(states[var_index]); tmp_vars.push_back(vars_[var_index]); tmp_vars.push_back(states[var_index + 1]); - s->AddConstraint( - s->MakeAllowedAssignments(tmp_vars, transition_table_)); + if (transition_table_.NumTuples() < kBitsInUint64) { + s->AddConstraint(s->RevAlloc(new SmallCompactPositiveTableConstraint( + s, tmp_vars, transition_table_))); + } else { + s->AddConstraint(s->RevAlloc(new CompactPositiveTableConstraint( + s, tmp_vars, transition_table_))); + } } }