Package org.jacop.constraints.regular
Class RegStateDom
- java.lang.Object
-
- org.jacop.constraints.regular.RegState
-
- org.jacop.constraints.regular.RegStateDom
-
public class RegStateDom extends RegState
It is a state representation which uses a domain representation to represent all integers which can transition from this state to the given successor state.- Version:
- 4.8
-
-
Constructor Summary
Constructors Constructor Description RegStateDom(int level, int id, int sucNumber, int posInArray)
It constructs a state.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
add(IntDomain varDom, int successorNo)
It adds to domain values which are accepted by a given edge.void
addTransition(RegState suc, java.lang.Integer val)
It specifies that for a given value an automata will move from the current state to the successor state.void
addTransitions(RegState suc, IntervalDomain val)
It specifies that for a given values from an interval an automata will move from the current state to the successor state.boolean
intersects(IntDomain dom, int successorNo)
It checks if the accepting values associated with an edge intersect.boolean
isActive(TimeStamp<java.lang.Integer>[] activeLevels)
The function return if the state is still active.void
removeTransition(int pos)
It informs the state that the edge on the given position is no longer active.void
setSupports(java.util.Map<java.lang.Integer,RegEdge> hashMap, int i)
java.lang.String
sucDomToString(int successorNo)
boolean
updateSupport(RegEdge edge, int v)
It updates a support if given state supports given value.
-
-
-
Field Detail
-
toSucDom
private IntDomain[] toSucDom
-
-
Constructor Detail
-
RegStateDom
public RegStateDom(int level, int id, int sucNumber, int posInArray)
It constructs a state.- Parameters:
level
- the position of the associated variable with the state.id
- the state id.sucNumber
- the number of successors for this state.posInArray
- the position within a states array for the level of this state.
-
-
Method Detail
-
isActive
public boolean isActive(TimeStamp<java.lang.Integer>[] activeLevels)
Description copied from class:RegState
The function return if the state is still active. It depends on how many active levels remains for state level and the position of the state.
-
removeTransition
public void removeTransition(int pos)
Description copied from class:RegState
It informs the state that the edge on the given position is no longer active.- Specified by:
removeTransition
in classRegState
- Parameters:
pos
- position of the edge.
-
addTransition
public void addTransition(RegState suc, java.lang.Integer val)
Description copied from class:RegState
It specifies that for a given value an automata will move from the current state to the successor state.- Specified by:
addTransition
in classRegState
- Parameters:
suc
- successor stateval
- an accepting value
-
addTransitions
public void addTransitions(RegState suc, IntervalDomain val)
Description copied from class:RegState
It specifies that for a given values from an interval an automata will move from the current state to the successor state.- Specified by:
addTransitions
in classRegState
- Parameters:
suc
- successor stateval
- interval of accepting values.
-
intersects
public boolean intersects(IntDomain dom, int successorNo)
Description copied from class:RegState
It checks if the accepting values associated with an edge intersect.- Specified by:
intersects
in classRegState
- Parameters:
dom
- domain against which interesection is performed.successorNo
- a position of the edge.- Returns:
- true if at least one value associated with an edge intersects with domain.
-
setSupports
public void setSupports(java.util.Map<java.lang.Integer,RegEdge> hashMap, int i)
- Specified by:
setSupports
in classRegState
- Parameters:
hashMap
- It contains supports for all values of a given variable.i
- it specifies the edge position.
-
sucDomToString
public java.lang.String sucDomToString(int successorNo)
- Specified by:
sucDomToString
in classRegState
- Parameters:
successorNo
- - edge position.- Returns:
- It return the string representation of the values accepted by specified edge.
-
add
public void add(IntDomain varDom, int successorNo)
Description copied from class:RegState
It adds to domain values which are accepted by a given edge.
-
updateSupport
public boolean updateSupport(RegEdge edge, int v)
Description copied from class:RegState
It updates a support if given state supports given value.- Specified by:
updateSupport
in classRegState
- Parameters:
edge
- information about support is stored here.v
- value for which support is looked for.- Returns:
- It returns true if state has an edge which supports given value.
-
-