Clover coverage report -
Coverage timestamp: jeu. juin 15 2006 08:24:33 CEST
file stats: LOC: 98   Methods: 12
NCLOC: 77   Classes: 1
 
 Source file Conditionals Statements Methods TOTAL
MarkableLits.java 100% 100% 100% 100%
coverage
 1    package org.sat4j.minisat.constraints.cnf;
 2   
 3    import java.util.HashSet;
 4    import java.util.Set;
 5   
 6    import org.sat4j.core.VecInt;
 7    import org.sat4j.minisat.core.IMarkableLits;
 8    import org.sat4j.specs.IVecInt;
 9   
 10    public class MarkableLits extends Lits implements IMarkableLits {
 11   
 12    /**
 13    *
 14    */
 15    private static final long serialVersionUID = 1L;
 16   
 17    private int[] marks;
 18   
 19    private static final int DEFAULTMARK = 1;
 20   
 21  12 @Override
 22    public void init(int nvar) {
 23  12 super.init(nvar);
 24  12 marks = new int[(nvar << 1) + 2];
 25    }
 26   
 27  44 public void setMark(int p, int mark) {
 28    assert marks != null;
 29    assert p > 1;
 30    assert p < marks.length;
 31  44 marks[p] = mark;
 32    }
 33   
 34  9 public void setMark(int p) {
 35  9 setMark(p, DEFAULTMARK);
 36    }
 37   
 38  45 public int getMark(int p) {
 39  45 return marks[p];
 40    }
 41   
 42  110 public boolean isMarked(int p) {
 43  110 return marks[p] != MARKLESS;
 44    }
 45   
 46  23 public void resetMark(int p) {
 47  23 marks[p] = MARKLESS;
 48    }
 49   
 50  1 public void resetAllMarks() {
 51  1 for (int i = 2; i < marks.length; i++)
 52  20 resetMark(i);
 53    }
 54   
 55  1 public IVecInt getMarkedLiterals() {
 56  1 IVecInt marked = new VecInt();
 57  1 for (int i = 2; i < marks.length; i++) {
 58  20 if (isMarked(i))
 59  3 marked.push(i);
 60    }
 61  1 return marked;
 62    }
 63   
 64  1 public IVecInt getMarkedLiterals(int mark) {
 65  1 IVecInt marked = new VecInt();
 66  1 for (int i = 2; i < marks.length; i++) {
 67  20 if (getMark(i) == mark)
 68  2 marked.push(i);
 69    }
 70  1 return marked;
 71    }
 72   
 73  1 public IVecInt getMarkedVariables() {
 74  1 IVecInt marked = new VecInt();
 75  1 for (int i = 2; i < marks.length; i += 2) {
 76  10 if (isMarked(i) || isMarked(i + 1))
 77  3 marked.push(i >> 1);
 78    }
 79  1 return marked;
 80    }
 81   
 82  1 public IVecInt getMarkedVariables(int mark) {
 83  1 IVecInt marked = new VecInt();
 84  1 for (int i = 2; i < marks.length; i+=2) {
 85  10 if (getMark(i) == mark || getMark(i + 1) == mark)
 86  2 marked.push(i >> 1);
 87    }
 88  1 return marked;
 89    }
 90   
 91  1 public Set<Integer> getMarks() {
 92  1 Set<Integer> markers = new HashSet<Integer>();
 93  1 for (int m : marks)
 94  22 if (m != MARKLESS)
 95  3 markers.add(m);
 96  1 return markers;
 97    }
 98    }