Beispiel #1
0
        // TODO: Not used anywhere
        public NdAnalyzer(OptimizationContext context, int posA, int posB, ushort variable)
        {
            this.Variable = variable;
            var graphs       = CreateVariableUsageGraphs(context);
            var initialState = new NdState(Variable, graphs, context.VariableAllocator, posA, posB);

            validPositionsForB = CalculatePositionsWhereBMightHaveBeen(context, posA, variable);

            var bounds = context.Backtracer.GetBoundsAt(posB, false);

            initialState = initialState
                           .SetMinBounds(bounds.MinBounds)
                           .SetMaxBounds(bounds.MaxBounds);

            Result = Analyze(context, initialState);
        }
Beispiel #2
0
 public override NdState SetMinBounds(int offset) => state.SetMinBounds(offset);