Clover Coverage Report
Coverage timestamp: mer. juin 27 2007 07:27:16 CEST
0   133   1   -
0   17   -   0
0     -  
1    
 
  IMarkableLits       Line # 37 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    package org.sat4j.minisat.core;
26   
27    import java.util.Set;
28   
29    import org.sat4j.specs.IVecInt;
30   
31    /**
32    * Vocabulary in which literals can be marked.
33    *
34    * @author daniel
35    *
36    */
 
37    public interface IMarkableLits extends ILits {
38    int MARKLESS = 0;
39   
40    /**
41    * Mark a given literal with a given mark.
42    *
43    * @param p
44    * the literal
45    * @param mark
46    * an integer used to mark the literal. The specific mark
47    * MARKLESS is used to denote that the literal is not marked. The
48    * marks are supposed to be positive in the most common cases.
49    */
50    void setMark(int p, int mark);
51   
52    /**
53    * Mark a given literal.
54    *
55    * @param p
56    * a literal
57    */
58    void setMark(int p);
59   
60    /**
61    * To get the mark for a given literal.
62    *
63    * @param p
64    * a literal
65    * @return the mark associated with that literal, or MARKLESS if the literal
66    * is not marked.
67    */
68    int getMark(int p);
69   
70    /**
71    * To know if a given literal is marked, i.e. has a mark different from
72    * MARKLESS.
73    *
74    * @param p
75    * a literal
76    * @return true iif the literal is marked.
77    */
78    boolean isMarked(int p);
79   
80    /**
81    * Set the mark of a given literal to MARKLESS.
82    *
83    * @param p
84    * a literal
85    */
86    void resetMark(int p);
87   
88    /**
89    * Set all the literal marks to MARKLESS
90    *
91    */
92    void resetAllMarks();
93   
94    /**
95    * Returns the set of all marked literals.
96    *
97    * @return a set of literals whose mark is different from MARKLESS.
98    */
99    IVecInt getMarkedLiterals();
100   
101    /**
102    * Returns that set of all the literals having a specific mark.
103    *
104    * @param mark
105    * a mark
106    * @return a set of literals whose mark is mark
107    */
108    IVecInt getMarkedLiterals(int mark);
109   
110    /**
111    * Returns the set of all marked variables. A variable is marked iff at
112    * least one of its literal is marked.
113    *
114    * @return a set of variables whose mark is different from MARKLESS.
115    */
116    IVecInt getMarkedVariables();
117   
118    /**
119    * Returns the set of all variables having a specific mark. A variable is
120    * marked iff at least one of its literal is marked.
121    *
122    * @param mark
123    * a mark.
124    * @return a set of variables whose mark is mark.
125    */
126    IVecInt getMarkedVariables(int mark);
127   
128    /**
129    *
130    * @return a list of marks used to mark the literals.
131    */
132    Set<Integer> getMarks();
133    }