problems.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef SATSOLVER_PROBLEMS_H
00014 #define SATSOLVER_PROBLEMS_H
00015
00016 #ifdef __cplusplus
00017 extern "C" {
00018 #endif
00019
00020
00021 struct _Solver;
00022
00023 #define SOLVER_SOLUTION_JOB (0)
00024 #define SOLVER_SOLUTION_DISTUPGRADE (-1)
00025 #define SOLVER_SOLUTION_INFARCH (-2)
00026
00027 void solver_disableproblem(struct _Solver *solv, Id v);
00028 void solver_enableproblem(struct _Solver *solv, Id v);
00029 int solver_prepare_solutions(struct _Solver *solv);
00030
00031 unsigned int solver_problem_count(struct _Solver *solv);
00032 Id solver_next_problem(struct _Solver *solv, Id problem);
00033 unsigned int solver_solution_count(struct _Solver *solv, Id problem);
00034 Id solver_next_solution(struct _Solver *solv, Id problem, Id solution);
00035 unsigned int solver_solutionelement_count(struct _Solver *solv, Id problem, Id solution);
00036 Id solver_next_solutionelement(struct _Solver *solv, Id problem, Id solution, Id element, Id *p, Id *rp);
00037
00038 void solver_take_solutionelement(struct _Solver *solv, Id p, Id rp, Queue *job);
00039 void solver_take_solution(struct _Solver *solv, Id problem, Id solution, Queue *job);
00040
00041 Id solver_findproblemrule(struct _Solver *solv, Id problem);
00042 void solver_findallproblemrules(struct _Solver *solv, Id problem, Queue *rules);
00043
00044 #ifdef __cplusplus
00045 }
00046 #endif
00047
00048 #endif