Make state_explicit instances persistent objects.
* src/tgba/tgbaexplicit.cc, src/tgba/tgbaexplicit.hh: Merge state_explicit and tgba_explicit::state. In the past, state_explicit was a small object encapsulating a pointer to the persistent tgba_explicit::state; and we used to clone() and destroy() a lot of state_explicit instance. Now state_explicit is persistent, and clone() and destroy() have no effects. * src/tgba/tgbareduce.cc: Adjust, since this inherits from tgbaexplicit and uses the internals of state_explicit. * src/tgbatest/reductgba.cc: Fix deletion order for automata. * src/tgba/tgba.hh (last_support_conditions_input_, last_support_variables_input_): Make these protected, so they can be zeroed by tgba_explicit.
This commit is contained in:
parent
cd900a403b
commit
36f7c648b6
6 changed files with 188 additions and 156 deletions
|
|
@ -209,10 +209,11 @@ namespace spot
|
|||
virtual bdd compute_support_conditions(const state* state) const = 0;
|
||||
/// Do the actual computation of tgba::support_variables().
|
||||
virtual bdd compute_support_variables(const state* state) const = 0;
|
||||
private:
|
||||
protected:
|
||||
mutable const state* last_support_conditions_input_;
|
||||
mutable bdd last_support_conditions_output_;
|
||||
mutable const state* last_support_variables_input_;
|
||||
private:
|
||||
mutable bdd last_support_conditions_output_;
|
||||
mutable bdd last_support_variables_output_;
|
||||
mutable int num_acc_;
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue