Clover Coverage Report
Coverage timestamp: mer. juin 27 2007 07:27:16 CEST
15   81   3   5
4   33   0,33   3
3     1,67  
1    
 
  MyOrder       Line # 38 15 3 90,9% 0.90909094
 
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.orders;
27   
28    import java.util.ArrayList;
29    import java.util.Collections;
30    import java.util.List;
31   
32    import org.sat4j.minisat.core.ILits2;
33   
34    /**
35    * @author leberre To change the template for this generated type comment go to
36    * Window>Preferences>Java>Code Generation>Code and Comments
37    */
 
38    public class MyOrder extends VarOrder<ILits2> {
39   
40    private static final long serialVersionUID = 1L;
41   
42    /*
43    * (non-Javadoc)
44    *
45    * @see org.sat4j.minisat.VarOrder#setLits(org.sat4j.minisat.Lits)
46    */
 
47  1 toggle @Override
48    public void setLits(ILits2 lits) {
49  1 super.setLits(lits);
50    }
51   
52    /*
53    * (non-Javadoc)
54    *
55    * @see org.sat4j.minisat.IHeuristics#init()
56    */
 
57  1 toggle @Override
58    public void init() {
59  1 super.init();
60  1 List<ValuedLit> v = new ArrayList<ValuedLit>(order.length);
61  1 int id;
62  91 for (int i = 1; i < order.length; i++) {
63  90 id = order[i];
64  90 v.add(new ValuedLit(id,lits.nBinaryClauses(id) + lits.nBinaryClauses(id ^ 1)));
65    }
66  1 Collections.sort(v);
67    // System.out.println(v);
68  91 for (int i = 0; i < v.size(); i++) {
69  90 ValuedLit t = v.get(i);
70  90 order[i + 1] = t.id;
71  90 int index = t.id >> 1;
72  90 varpos[index] = i + 1;
73    }
74  1 lastVar = 1;
75    }
76   
 
77  0 toggle @Override
78    public String toString() {
79  0 return "Init VSIDS order with binary clause occurrences."; //$NON-NLS-1$
80    }
81    }