/** * Resets the wave to it's original state */ public Resolution Clear() { wave = new Wave(frequencies.Length, indexCount); if (backtrack) { backtrackItems = new Deque <IndexPatternItem>(); backtrackItemsLengths = new Deque <int>(); backtrackItemsLengths.Push(0); prevChoices = new Deque <IndexPatternItem>(); } status = Resolution.Undecided; this.trackers = new List <ITracker>(); pickHeuristic = pickHeuristicFactory(this); patternModelConstraint.Clear(); if (status == Resolution.Contradiction) { return(status); } InitConstraints(); return(status); }
/** * Resets the wave to it's original state */ public Resolution Clear() { wave = new Wave(frequencies.Length, indexCount); if (backtrack) { backtrackItems = new Deque <IndexPatternItem>(); backtrackItemsLengths = new Deque <int>(); backtrackItemsLengths.Push(0); prevChoices = new Deque <IndexPatternItem>(); } status = Resolution.Undecided; this.trackers = new List <ITracker>(); if (frequencySets != null) { var entropyTracker = new ArrayPriorityEntropyTracker(wave, frequencySets, topology.Mask); entropyTracker.Reset(); AddTracker(entropyTracker); pickHeuristic = new ArrayPriorityEntropyHeuristic(entropyTracker, randomDouble); } else { var entropyTracker = new EntropyTracker(wave, frequencies, topology.Mask); entropyTracker.Reset(); AddTracker(entropyTracker); pickHeuristic = new EntropyHeuristic(entropyTracker, randomDouble); } patternModelConstraint.Clear(); if (status == Resolution.Contradiction) { return(status); } InitConstraints(); return(status); }