This commit is contained in:
Artur Meski
2018-03-26 19:37:08 +01:00
parent 0c9665d1b6
commit def86df597

View File

@@ -152,14 +152,60 @@ public:
BDD getBDDtrue(void) const { return BDD_TRUE; }
BDD getBDDfalse(void) const { return BDD_FALSE; }
/**
* @brief Checks if context automaton is used
*
* @return True if CA is used
*/
bool usingContextAutomaton(void) { return rs->ctx_aut != nullptr; }
/**
* @brief Encodes a context automaton's state
*
* @return Returns the encoded state
*/
BDD encCtxAutState_raw(State state_id, bool succ) const;
/**
* @brief Encodes a context automaton's state (as predecessor/non-primed)
*
* @return Returns the encoded state
*/
BDD encCtxAutState(State state_id) const { return encCtxAutState_raw(state_id, false); }
/**
* @brief Encodes a context automaton's state (as successor/primed)
*
* @return Returns the encoded state
*/
BDD encCtxAutStateSucc(State state_id) const { return encCtxAutState_raw(state_id, true); }
/**
* @brief Encodes the initial state of context automaton
*
* @return Returns the encoded state(s)
*/
BDD *getEncCtxAutInitState(void);
/**
* @brief Getter for context automaton's state variables (predecessor/non-primed)
*
* @return Returns a vector of BDDs
*/
vector<BDD> *getEncCtxAutPV(void);
/**
* @brief Getter for context automaton's successor (primed) state variables
*
* @return Returns a vector of BDDs
*/
vector<BDD> *getEncCtxAutPVsucc(void);
/**
* @brief Encodes the monolithic transition relation
*
* @return Returns a BDD encoding the transition relation
*/
BDD *getEncCtxAutTrans(void);
};