Clover Coverage Report
Coverage timestamp: mer. juin 27 2007 07:27:16 CEST
0   63   1   -
0   6   -   0
0     -  
1    
 
  AssertingClauseGenerator       Line # 38 0 1 - -1.0
 
No Tests
 
1    /*
2    * SAT4J: a SATisfiability library for Java Copyright (C) 2004-2006 Daniel Le Berre
3    *
4    * Based on the original minisat specification from:
5    *
6    * An extensible SAT solver. Niklas E?n and Niklas S?rensson. Proceedings of the
7    * Sixth International Conference on Theory and Applications of Satisfiability
8    * Testing, LNCS 2919, pp 502-518, 2003.
9    *
10    * This library is free software; you can redistribute it and/or modify it under
11    * the terms of the GNU Lesser General Public License as published by the Free
12    * Software Foundation; either version 2.1 of the License, or (at your option)
13    * any later version.
14    *
15    * This library is distributed in the hope that it will be useful, but WITHOUT
16    * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
17    * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
18    * details.
19    *
20    * You should have received a copy of the GNU Lesser General Public License
21    * along with this library; if not, write to the Free Software Foundation, Inc.,
22    * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
23    *
24    */
25   
26    package org.sat4j.minisat.core;
27   
28    import org.sat4j.specs.IConstr;
29   
30    /**
31    * An assertingClauseGenerator is responsible for the creation of an asserting
32    * clause during conflict analysis. An asserting clause is a clause that will
33    * become unit when the solver will backtrack to the latest decision level,
34    * providing a nice way for the solver to backtrack.
35    *
36    * @author leberre
37    */
 
38    public interface AssertingClauseGenerator {
39   
40    /**
41    * hook method called before the analysis.
42    */
43    void initAnalyze();
44   
45    /**
46    * hook method called when a literal from the current decision lelvel is
47    * found.
48    *
49    * @param p
50    * the literal in the current decision level
51    */
52    void onCurrentDecisionLevelLiteral(int p);
53   
54    /**
55    * method indicating if an asserting clause has been built. note that this
56    * method is called right after a resolution step is finished.
57    *
58    * @param reason
59    * the reason of the current literal assignment
60    * @return false iff the current clause is assertive
61    */
62    boolean clauseNonAssertive(IConstr reason);
63    }