choco.kernel.solver.constraints.global.automata.fast_costregular.structure
Class StoredValuedDirectedMultiGraph

java.lang.Object
  extended by choco.kernel.solver.constraints.global.automata.fast_costregular.structure.StoredValuedDirectedMultiGraph

public class StoredValuedDirectedMultiGraph
extends Object

Created by IntelliJ IDEA. User: julien Mail: julien.menana{at}emn.fr Date: Nov 4, 2009 Time: 1:07:19 PM


Nested Class Summary
 class StoredValuedDirectedMultiGraph.Arcs
           
 class StoredValuedDirectedMultiGraph.Nodes
           
 
Field Summary
 StoredValuedDirectedMultiGraph.Arcs GArcs
           
 StoredValuedDirectedMultiGraph.Nodes GNodes
           
 StoredIndexedBipartiteSet inGraph
           
 BitSet inStack
           
 int[][] layers
           
 int sourceIndex
           
 int tinkIndex
           
 gnu.trove.TIntStack toUpdateLeft
           
 gnu.trove.TIntStack toUpdateRight
           
 
Constructor Summary
StoredValuedDirectedMultiGraph(IEnvironment environment, AbstractIntSConstraint constraint, org.jgrapht.graph.DirectedMultigraph<Node,Arc> graph, int[][] layers, int[] starts, int[] offsets, int supportLength)
           
 
Method Summary
 void clearInStack(int idx)
          Clear the idx th bit of the to be removed bitset
 StoredIndexedBipartiteSetWithOffset getSupport(int i, int j)
           
 void initPathInfo()
           
 boolean isInStack(int idx)
          Getter, the idx th bit of the inStack bitSet
 void removeArc(int arcId, gnu.trove.TIntStack toRemove)
           
 void setInStack(int idx)
          Set the idx th bit of the to be removed bitset
 void updateLeft(int nid, gnu.trove.TIntStack toRemove)
           
 void updateLPFS(int nid, gnu.trove.TIntStack toRemove)
           
 void updateLPFT(int nid, gnu.trove.TIntStack toRemove)
           
 void updateRight(int nid, gnu.trove.TIntStack toRemove)
           
 void updateSPFS(int nid, gnu.trove.TIntStack toRemove)
           
 void updateSPFT(int nid, gnu.trove.TIntStack toRemove)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

sourceIndex

public int sourceIndex

tinkIndex

public int tinkIndex

layers

public int[][] layers

inStack

public BitSet inStack

inGraph

public StoredIndexedBipartiteSet inGraph

toUpdateLeft

public gnu.trove.TIntStack toUpdateLeft

toUpdateRight

public gnu.trove.TIntStack toUpdateRight

GNodes

public StoredValuedDirectedMultiGraph.Nodes GNodes

GArcs

public StoredValuedDirectedMultiGraph.Arcs GArcs
Constructor Detail

StoredValuedDirectedMultiGraph

public StoredValuedDirectedMultiGraph(IEnvironment environment,
                                      AbstractIntSConstraint constraint,
                                      org.jgrapht.graph.DirectedMultigraph<Node,Arc> graph,
                                      int[][] layers,
                                      int[] starts,
                                      int[] offsets,
                                      int supportLength)
Method Detail

initPathInfo

public void initPathInfo()

getSupport

public final StoredIndexedBipartiteSetWithOffset getSupport(int i,
                                                            int j)

removeArc

public void removeArc(int arcId,
                      gnu.trove.TIntStack toRemove)
               throws ContradictionException
Throws:
ContradictionException

updateRight

public void updateRight(int nid,
                        gnu.trove.TIntStack toRemove)

updateSPFT

public void updateSPFT(int nid,
                       gnu.trove.TIntStack toRemove)

updateLPFT

public void updateLPFT(int nid,
                       gnu.trove.TIntStack toRemove)

updateLeft

public void updateLeft(int nid,
                       gnu.trove.TIntStack toRemove)

updateSPFS

public void updateSPFS(int nid,
                       gnu.trove.TIntStack toRemove)

updateLPFS

public void updateLPFS(int nid,
                       gnu.trove.TIntStack toRemove)

isInStack

public final boolean isInStack(int idx)
Getter, the idx th bit of the inStack bitSet

Parameters:
idx - the index of the arc
Returns:
true if a given arc is to be deleted

setInStack

public final void setInStack(int idx)
Set the idx th bit of the to be removed bitset

Parameters:
idx - the index of the bit

clearInStack

public final void clearInStack(int idx)
Clear the idx th bit of the to be removed bitset

Parameters:
idx - the index of the bit


Copyright © 2012. All Rights Reserved.