/// <summary>Returns false if the result is solved or the method is disabled.</summary> private bool SkipMethod(SudokuSolverMethods method, ReduceResult result) { return (Methods & method) == SudokuSolverMethods.None || (result & (ReduceResult.Solved | ReduceResult.Inconsistend)) != ReduceResult.None; }
/// <summary>Initializes a new solver for a given puzzle.</summary> public SudokuSolver(SudokuPuzzle puzzle, SudokuSolverMethods methods) { if (puzzle == null) { throw new ArgumentNullException(); } Puzzle = puzzle; Methods = methods; }