예제 #1
0
 public void Init(WavePropagator wavePropagator)
 {
     wavePropagator.AddChoiceObserver(this);
     counter  = 0;
     depth    = 0;
     maxDepth = 0;
     start    = 0;
 }
        public PatternModelConstraint(WavePropagator propagator, PatternModel model)
        {
            this.toPropagate = new Stack <IndexPatternItem>();
            this.propagator  = propagator;

            this.propagatorArray = model.Propagator;
            this.patternCount    = model.PatternCount;

            this.topology        = propagator.Topology;
            this.indexCount      = topology.IndexCount;
            this.directionsCount = topology.DirectionsCount;
        }
 public OneStepPatternModelConstraint(WavePropagator propagator, PatternModel model)
 {
     this.propagatorArray      = model.Propagator;
     this.propagator           = propagator;
     this.topology             = propagator.Topology;
     this.directionsCount      = propagator.Topology.DirectionsCount;
     this.patternCount         = model.PatternCount;
     this.propagatorArrayDense = model.Propagator.Select(a1 => a1.Select(x =>
     {
         var dense = new BitArray(patternCount);
         foreach (var p in x)
         {
             dense[p] = true;
         }
         return(dense);
     }).ToArray()).ToArray();
     toPropagate = new Stack <IndexPatternItem>();
 }
예제 #4
0
 public void Init(WavePropagator wavePropagator)
 {
 }