Clover Coverage Report
Coverage timestamp: mer. juin 27 2007 07:27:16 CEST
0   60   1   -
0   7   -   0
0     -  
1    
 
  Evaluable       Line # 31 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.reader.csp;
27   
28    import org.sat4j.specs.ContradictionException;
29    import org.sat4j.specs.ISolver;
30   
 
31    public interface Evaluable {
32   
33    /**
34    * Return the domain of the evaluable.
35    *
36    * @return the domain of the evaluable.
37    */
38    Domain domain();
39   
40    /**
41    * Translates a value from the domain nto a SAT variable in Dimacs format.
42    *
43    * @param key
44    * a value from domain()
45    * @return the SAT variable associated with that value.
46    */
47    int translate(int key);
48   
49    /**
50    * Translates a variable over a domain into a set a clauses enforcing that
51    * exactly one value must be chosen in the domain.
52    *
53    * @param solver
54    * a solver to feed with the clauses.
55    * @throws ContradictionException
56    * if a trivial inconsistency is met.
57    */
58    void toClause(ISolver solver) throws ContradictionException;
59   
60    }