|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| TernaryClauses | Line # 40 | 34 | 13 | 69,3% |
0.6933333
|
||||||||||||||||||||||||||||||||||||||||||||||||||||
| (79) | |||
| Result | |||
|
0.6933333
|
org.sat4j.minisat.AbstractM2Test.testJNH23
org.sat4j.minisat.AbstractM2Test.testJNH23
|
1 PASS | |
|
0.6933333
|
org.sat4j.minisat.AbstractM2Test.testJNH24
org.sat4j.minisat.AbstractM2Test.testJNH24
|
1 PASS | |
|
0.6933333
|
org.sat4j.minisat.AbstractM2Test.testJNH21
org.sat4j.minisat.AbstractM2Test.testJNH21
|
1 PASS | |
|
0.6933333
|
org.sat4j.minisat.AbstractM2Test.testJNH19
org.sat4j.minisat.AbstractM2Test.testJNH19
|
1 PASS | |
|
0.6933333
|
org.sat4j.minisat.AbstractM2Test.testJNH20
org.sat4j.minisat.AbstractM2Test.testJNH20
|
1 PASS | |
|
0.6933333
|
org.sat4j.minisat.AbstractM2Test.testJNH17
org.sat4j.minisat.AbstractM2Test.testJNH17
|
1 PASS | |
|
0.6933333
|
org.sat4j.minisat.AbstractM2Test.testJNH18
org.sat4j.minisat.AbstractM2Test.testJNH18
|
1 PASS | |
|
0.6933333
|
org.sat4j.minisat.AbstractM2Test.testJNH15
org.sat4j.minisat.AbstractM2Test.testJNH15
|
1 PASS | |
|
0.6933333
|
org.sat4j.minisat.AbstractM2Test.testJNH16
org.sat4j.minisat.AbstractM2Test.testJNH16
|
1 PASS | |
|
0.6933333
|
org.sat4j.minisat.AbstractM2Test.testJNH13
org.sat4j.minisat.AbstractM2Test.testJNH13
|
1 PASS | |
|
0.6933333
|
org.sat4j.minisat.AbstractM2Test.testJNH14
org.sat4j.minisat.AbstractM2Test.testJNH14
|
1 PASS | |
|
0.6933333
|
org.sat4j.minisat.AbstractM2Test.testJNH11
org.sat4j.minisat.AbstractM2Test.testJNH11
|
1 PASS | |
|
0.6933333
|
org.sat4j.minisat.AbstractM2Test.testJNH12
org.sat4j.minisat.AbstractM2Test.testJNH12
|
1 PASS | |
|
0.6933333
|
org.sat4j.minisat.AbstractM2Test.testJNH9
org.sat4j.minisat.AbstractM2Test.testJNH9
|
1 PASS | |
|
0.6933333
|
org.sat4j.minisat.AbstractM2Test.testJNH10
org.sat4j.minisat.AbstractM2Test.testJNH10
|
1 PASS | |
|
0.6933333
|
org.sat4j.minisat.AbstractM2Test.testJNH40
org.sat4j.minisat.AbstractM2Test.testJNH40
|
1 PASS | |
|
0.6933333
|
org.sat4j.minisat.AbstractM2Test.testJNH39
org.sat4j.minisat.AbstractM2Test.testJNH39
|
1 PASS | |
|
0.6933333
|
org.sat4j.minisat.AbstractM2Test.testJNH37
org.sat4j.minisat.AbstractM2Test.testJNH37
|
1 PASS | |
|
0.6933333
|
org.sat4j.minisat.AbstractM2Test.testJNH36
org.sat4j.minisat.AbstractM2Test.testJNH36
|
1 PASS | |
|
0.6933333
|
org.sat4j.minisat.AbstractM2Test.testJNH35
org.sat4j.minisat.AbstractM2Test.testJNH35
|
1 PASS | |
|
0.6933333
|
org.sat4j.minisat.AbstractM2Test.testJNH34
org.sat4j.minisat.AbstractM2Test.testJNH34
|
1 PASS | |
|
0.6933333
|
org.sat4j.minisat.AbstractM2Test.testJNH33
org.sat4j.minisat.AbstractM2Test.testJNH33
|
1 PASS | |
|
0.6933333
|
org.sat4j.minisat.AbstractM2Test.testJNH32
org.sat4j.minisat.AbstractM2Test.testJNH32
|
1 PASS | |
|
0.6933333
|
org.sat4j.minisat.AbstractM2Test.testJNH31
org.sat4j.minisat.AbstractM2Test.testJNH31
|
1 PASS | |
|
0.6933333
|
org.sat4j.minisat.AbstractM2Test.testJNH30
org.sat4j.minisat.AbstractM2Test.testJNH30
|
1 PASS | |
|
0.6933333
|
org.sat4j.minisat.AbstractM2Test.testJNH29
org.sat4j.minisat.AbstractM2Test.testJNH29
|
1 PASS | |
|
0.6933333
|
org.sat4j.minisat.AbstractM2Test.testJNH28
org.sat4j.minisat.AbstractM2Test.testJNH28
|
1 PASS | |
|
0.6933333
|
org.sat4j.minisat.AbstractM2Test.testJNH27
org.sat4j.minisat.AbstractM2Test.testJNH27
|
1 PASS | |
|
0.6933333
|
org.sat4j.minisat.AbstractM2Test.testJNH26
org.sat4j.minisat.AbstractM2Test.testJNH26
|
1 PASS | |
|
0.6933333
|
org.sat4j.minisat.AbstractM2Test.testJNH25
org.sat4j.minisat.AbstractM2Test.testJNH25
|
1 PASS | |
|
0.6933333
|
org.sat4j.minisat.AbstractM2Test.testAim50SAT12
org.sat4j.minisat.AbstractM2Test.testAim50SAT12
|
1 PASS | |
|
0.6933333
|
org.sat4j.minisat.AbstractM2Test.testAim50SAT13
org.sat4j.minisat.AbstractM2Test.testAim50SAT13
|
1 PASS | |
|
0.6933333
|
org.sat4j.minisat.AbstractM2Test.testJNH50
org.sat4j.minisat.AbstractM2Test.testJNH50
|
1 PASS | |
|
0.6933333
|
org.sat4j.minisat.AbstractM2Test.testAim50SAT14
org.sat4j.minisat.AbstractM2Test.testAim50SAT14
|
1 PASS | |
|
0.6933333
|
org.sat4j.minisat.AbstractM2Test.testAim50SAT15
org.sat4j.minisat.AbstractM2Test.testAim50SAT15
|
1 PASS | |
|
0.6933333
|
org.sat4j.minisat.AbstractM2Test.testAim50SAT8
org.sat4j.minisat.AbstractM2Test.testAim50SAT8
|
1 PASS | |
|
0.6933333
|
org.sat4j.minisat.AbstractM2Test.testAim50SAT9
org.sat4j.minisat.AbstractM2Test.testAim50SAT9
|
1 PASS | |
|
0.6933333
|
org.sat4j.minisat.AbstractM2Test.testAim50SAT10
org.sat4j.minisat.AbstractM2Test.testAim50SAT10
|
1 PASS | |
|
0.6933333
|
org.sat4j.minisat.AbstractM2Test.testAim50SAT11
org.sat4j.minisat.AbstractM2Test.testAim50SAT11
|
1 PASS | |
|
0.6933333
|
org.sat4j.minisat.AbstractM2Test.testJNH41
org.sat4j.minisat.AbstractM2Test.testJNH41
|
1 PASS | |
|
0.6933333
|
org.sat4j.minisat.AbstractM2Test.testAim50UNSAT4
org.sat4j.minisat.AbstractM2Test.testAim50UNSAT4
|
1 PASS | |
|
0.6933333
|
org.sat4j.minisat.AbstractM2Test.testAim50UNSAT5
org.sat4j.minisat.AbstractM2Test.testAim50UNSAT5
|
1 PASS | |
|
0.6933333
|
org.sat4j.minisat.AbstractM2Test.testJNH43
org.sat4j.minisat.AbstractM2Test.testJNH43
|
1 PASS | |
|
0.6933333
|
org.sat4j.minisat.AbstractM2Test.testAim50UNSAT6
org.sat4j.minisat.AbstractM2Test.testAim50UNSAT6
|
1 PASS | |
|
0.6933333
|
org.sat4j.minisat.AbstractM2Test.testJNH44
org.sat4j.minisat.AbstractM2Test.testJNH44
|
1 PASS | |
|
0.6933333
|
org.sat4j.minisat.AbstractM2Test.testAim50UNSAT7
org.sat4j.minisat.AbstractM2Test.testAim50UNSAT7
|
1 PASS | |
|
0.6933333
|
org.sat4j.minisat.AbstractM2Test.testJNH45
org.sat4j.minisat.AbstractM2Test.testJNH45
|
1 PASS | |
|
0.6933333
|
org.sat4j.minisat.AbstractM2Test.testAim50SAT16
org.sat4j.minisat.AbstractM2Test.testAim50SAT16
|
1 PASS | |
|
0.6933333
|
org.sat4j.minisat.AbstractM2Test.testAim50UNSAT8
org.sat4j.minisat.AbstractM2Test.testAim50UNSAT8
|
1 PASS | |
|
0.6933333
|
org.sat4j.minisat.AbstractM2Test.testJNH46
org.sat4j.minisat.AbstractM2Test.testJNH46
|
1 PASS | |
|
0.6933333
|
org.sat4j.minisat.AbstractM2Test.testAim50UNSAT1
org.sat4j.minisat.AbstractM2Test.testAim50UNSAT1
|
1 PASS | |
|
0.6933333
|
org.sat4j.minisat.AbstractM2Test.testAim50UNSAT2
org.sat4j.minisat.AbstractM2Test.testAim50UNSAT2
|
1 PASS | |
|
0.6933333
|
org.sat4j.minisat.AbstractM2Test.testJNH48
org.sat4j.minisat.AbstractM2Test.testJNH48
|
1 PASS | |
|
0.6933333
|
org.sat4j.minisat.AbstractM2Test.testAim50UNSAT3
org.sat4j.minisat.AbstractM2Test.testAim50UNSAT3
|
1 PASS | |
|
0.6933333
|
org.sat4j.minisat.AbstractM2Test.testJNH6
org.sat4j.minisat.AbstractM2Test.testJNH6
|
1 PASS | |
|
0.6933333
|
org.sat4j.minisat.AbstractM2Test.testJNH5
org.sat4j.minisat.AbstractM2Test.testJNH5
|
1 PASS | |
|
0.6933333
|
org.sat4j.minisat.AbstractM2Test.testJNH8
org.sat4j.minisat.AbstractM2Test.testJNH8
|
1 PASS | |
|
0.6933333
|
org.sat4j.minisat.AbstractM2Test.testJNH2
org.sat4j.minisat.AbstractM2Test.testJNH2
|
1 PASS | |
|
0.6933333
|
org.sat4j.minisat.AbstractM2Test.testJNH1
org.sat4j.minisat.AbstractM2Test.testJNH1
|
1 PASS | |
|
0.6933333
|
org.sat4j.minisat.AbstractM2Test.testJNH4
org.sat4j.minisat.AbstractM2Test.testJNH4
|
1 PASS | |
|
0.6933333
|
org.sat4j.minisat.AbstractM2Test.testJNH3
org.sat4j.minisat.AbstractM2Test.testJNH3
|
1 PASS | |
|
0.6933333
|
org.sat4j.minisat.AbstractM2Test.testAim50SAT5
org.sat4j.minisat.AbstractM2Test.testAim50SAT5
|
1 PASS | |
|
0.6933333
|
org.sat4j.minisat.AbstractM2Test.testAim50SAT4
org.sat4j.minisat.AbstractM2Test.testAim50SAT4
|
1 PASS | |
|
0.6933333
|
org.sat4j.minisat.AbstractM2Test.testAim50SAT7
org.sat4j.minisat.AbstractM2Test.testAim50SAT7
|
1 PASS | |
|
0.6933333
|
org.sat4j.minisat.AbstractM2Test.testAim50SAT6
org.sat4j.minisat.AbstractM2Test.testAim50SAT6
|
1 PASS | |
|
0.6933333
|
org.sat4j.minisat.AbstractM2Test.testAim50SAT1
org.sat4j.minisat.AbstractM2Test.testAim50SAT1
|
1 PASS | |
|
0.6933333
|
org.sat4j.minisat.AbstractM2Test.testAim50SAT3
org.sat4j.minisat.AbstractM2Test.testAim50SAT3
|
1 PASS | |
|
0.6933333
|
org.sat4j.minisat.AbstractM2Test.testAim50SAT2
org.sat4j.minisat.AbstractM2Test.testAim50SAT2
|
1 PASS | |
|
0.6666667
|
org.sat4j.minisat.AbstractM2Test.testJNH22
org.sat4j.minisat.AbstractM2Test.testJNH22
|
1 PASS | |
|
0.6666667
|
org.sat4j.minisat.AbstractM2Test.testJNH38
org.sat4j.minisat.AbstractM2Test.testJNH38
|
1 PASS | |
|
0.6666667
|
org.sat4j.minisat.AbstractM2Test.testJNH49
org.sat4j.minisat.AbstractM2Test.testJNH49
|
1 PASS | |
|
0.6666667
|
org.sat4j.minisat.AbstractM2Test.testJNH47
org.sat4j.minisat.AbstractM2Test.testJNH47
|
1 PASS | |
|
0.5466667
|
org.sat4j.minisat.AbstractM2Test.testJNH42
org.sat4j.minisat.AbstractM2Test.testJNH42
|
1 PASS | |
|
0.5466667
|
org.sat4j.minisat.AbstractM2Test.testJNH7
org.sat4j.minisat.AbstractM2Test.testJNH7
|
1 PASS | |
|
0.34666666
|
org.sat4j.minisat.AbstractM2Test.testHole6
org.sat4j.minisat.AbstractM2Test.testHole6
|
1 PASS | |
|
0.34666666
|
org.sat4j.minisat.AbstractM2Test.testHole7
org.sat4j.minisat.AbstractM2Test.testHole7
|
1 PASS | |
|
0.34666666
|
org.sat4j.minisat.AbstractM2Test.testHole8
org.sat4j.minisat.AbstractM2Test.testHole8
|
1 PASS | |
|
0.34666666
|
org.sat4j.minisat.AbstractM2Test.testHole9
org.sat4j.minisat.AbstractM2Test.testHole9
|
3 FAIL | |
|
0.32
|
org.sat4j.minisat.AbstractM2Test.testIi1
org.sat4j.minisat.AbstractM2Test.testIi1
|
1 PASS | |
| 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.constraints.cnf; | |
| 27 | ||
| 28 | import java.io.Serializable; | |
| 29 | ||
| 30 | import org.sat4j.core.VecInt; | |
| 31 | import org.sat4j.minisat.core.Constr; | |
| 32 | import org.sat4j.minisat.core.ILits; | |
| 33 | import org.sat4j.minisat.core.UnitPropagationListener; | |
| 34 | import org.sat4j.specs.IVecInt; | |
| 35 | ||
| 36 | /** | |
| 37 | * @author leberre To change the template for this generated type comment go to | |
| 38 | * Window - Preferences - Java - Code Generation - Code and Comments | |
| 39 | */ | |
| 40 | public class TernaryClauses implements Constr, Serializable { | |
| 41 | ||
| 42 | private static final long serialVersionUID = 1L; | |
| 43 | ||
| 44 | private final IVecInt stubs = new VecInt(); | |
| 45 | ||
| 46 | private final ILits voc; | |
| 47 | ||
| 48 | private final int phead; | |
| 49 | ||
| 50 | 11621 |
public TernaryClauses(ILits voc, int p) { |
| 51 | 11621 | this.voc = voc; |
| 52 | 11621 | this.phead = p; |
| 53 | } | |
| 54 | ||
| 55 | 34200 |
public void addTernaryClause(int a, int b) { |
| 56 | 34200 | stubs.push(a); |
| 57 | 34200 | stubs.push(b); |
| 58 | } | |
| 59 | ||
| 60 | /* | |
| 61 | * (non-Javadoc) | |
| 62 | * | |
| 63 | * @see org.sat4j.minisat.Constr#remove() | |
| 64 | */ | |
| 65 | 0 |
public void remove() { |
| 66 | ||
| 67 | } | |
| 68 | ||
| 69 | /* | |
| 70 | * (non-Javadoc) | |
| 71 | * | |
| 72 | * @see org.sat4j.minisat.Constr#propagate(org.sat4j.minisat.UnitPropagationListener, | |
| 73 | * int) | |
| 74 | */ | |
| 75 | 139634 |
public boolean propagate(UnitPropagationListener s, int p) { |
| 76 | 139634 | assert voc.isSatisfied(p); |
| 77 | 139634 | assert voc.isFalsified(phead); |
| 78 | 139634 | voc.watch(p, this); |
| 79 | 483357 | for (int i = 0; i < stubs.size(); i += 2) { |
| 80 | 346284 | int a = stubs.get(i); |
| 81 | 346284 | int b = stubs.get(i + 1); |
| 82 | 346284 | if (voc.isSatisfied(a) || voc.isSatisfied(b)) { |
| 83 | 150645 | continue; |
| 84 | } | |
| 85 | 195639 | if (voc.isFalsified(a) && !s.enqueue(b, this)) { |
| 86 | 2561 | return false; |
| 87 | 193078 | } else if (voc.isFalsified(b) && !s.enqueue(a, this)) { |
| 88 | 0 | return false; |
| 89 | } | |
| 90 | } | |
| 91 | 137073 | return true; |
| 92 | } | |
| 93 | ||
| 94 | /* | |
| 95 | * (non-Javadoc) | |
| 96 | * | |
| 97 | * @see org.sat4j.minisat.Constr#simplify() | |
| 98 | */ | |
| 99 | 0 |
public boolean simplify() { |
| 100 | 0 | return false; |
| 101 | } | |
| 102 | ||
| 103 | /* | |
| 104 | * (non-Javadoc) | |
| 105 | * | |
| 106 | * @see org.sat4j.minisat.Constr#undo(int) | |
| 107 | */ | |
| 108 | 0 |
public void undo(int p) { |
| 109 | } | |
| 110 | ||
| 111 | /* | |
| 112 | * (non-Javadoc) | |
| 113 | * | |
| 114 | * @see org.sat4j.minisat.Constr#calcReason(int, org.sat4j.datatype.VecInt) | |
| 115 | */ | |
| 116 | 34331 |
public void calcReason(int p, IVecInt outReason) { |
| 117 | 34331 | assert voc.isFalsified(this.phead); |
| 118 | 34331 | if (p == ILits.UNDEFINED) { |
| 119 | 2545 | int i = 0; |
| 120 | 5401 | while (!voc.isFalsified(stubs.get(i)) |
| 121 | || !voc.isFalsified(stubs.get(i + 1))) { | |
| 122 | 2856 | i += 2; |
| 123 | } | |
| 124 | 2545 | outReason.push(this.phead ^ 1); |
| 125 | 2545 | outReason.push(stubs.get(i) ^ 1); |
| 126 | 2545 | outReason.push(stubs.get(i + 1) ^ 1); |
| 127 | } else { | |
| 128 | 31786 | outReason.push(this.phead ^ 1); |
| 129 | 31786 | int i = 0; |
| 130 | 117583 | while ((stubs.get(i) != p) || (!voc.isFalsified(stubs.get(i ^ 1)))) { |
| 131 | 85797 | i++; |
| 132 | } | |
| 133 | 31786 | assert !voc.isFalsified(stubs.get(i)); |
| 134 | 31786 | outReason.push(stubs.get(i ^ 1) ^ 1); |
| 135 | 31786 | assert voc.isFalsified(stubs.get(i ^ 1)); |
| 136 | } | |
| 137 | ||
| 138 | } | |
| 139 | ||
| 140 | /* | |
| 141 | * (non-Javadoc) | |
| 142 | * | |
| 143 | * @see org.sat4j.minisat.Constr#learnt() | |
| 144 | */ | |
| 145 | 34331 |
public boolean learnt() { |
| 146 | 34331 | return false; |
| 147 | } | |
| 148 | ||
| 149 | /* | |
| 150 | * (non-Javadoc) | |
| 151 | * | |
| 152 | * @see org.sat4j.minisat.Constr#incActivity(double) | |
| 153 | */ | |
| 154 | 0 |
public void incActivity(double claInc) { |
| 155 | } | |
| 156 | ||
| 157 | /* | |
| 158 | * (non-Javadoc) | |
| 159 | * | |
| 160 | * @see org.sat4j.minisat.Constr#getActivity() | |
| 161 | */ | |
| 162 | 0 |
public double getActivity() { |
| 163 | 0 | return 0; |
| 164 | } | |
| 165 | ||
| 166 | /* | |
| 167 | * (non-Javadoc) | |
| 168 | * | |
| 169 | * @see org.sat4j.minisat.Constr#locked() | |
| 170 | */ | |
| 171 | 0 |
public boolean locked() { |
| 172 | // TODO Auto-generated method stub | |
| 173 | 0 | return false; |
| 174 | } | |
| 175 | ||
| 176 | /* | |
| 177 | * (non-Javadoc) | |
| 178 | * | |
| 179 | * @see org.sat4j.minisat.Constr#setLearnt() | |
| 180 | */ | |
| 181 | 0 |
public void setLearnt() { |
| 182 | ||
| 183 | } | |
| 184 | ||
| 185 | /* | |
| 186 | * (non-Javadoc) | |
| 187 | * | |
| 188 | * @see org.sat4j.minisat.Constr#register() | |
| 189 | */ | |
| 190 | 0 |
public void register() { |
| 191 | ||
| 192 | } | |
| 193 | ||
| 194 | /* | |
| 195 | * (non-Javadoc) | |
| 196 | * | |
| 197 | * @see org.sat4j.minisat.Constr#rescaleBy(double) | |
| 198 | */ | |
| 199 | 0 |
public void rescaleBy(double d) { |
| 200 | ||
| 201 | } | |
| 202 | ||
| 203 | /* | |
| 204 | * (non-Javadoc) | |
| 205 | * | |
| 206 | * @see org.sat4j.minisat.Constr#size() | |
| 207 | */ | |
| 208 | 556762 |
public int size() { |
| 209 | 556762 | return stubs.size(); |
| 210 | } | |
| 211 | ||
| 212 | /* | |
| 213 | * (non-Javadoc) | |
| 214 | * | |
| 215 | * @see org.sat4j.minisat.Constr#get(int) | |
| 216 | */ | |
| 217 | 0 |
public int get(int i) { |
| 218 | 0 | throw new UnsupportedOperationException(); |
| 219 | } | |
| 220 | ||
| 221 | 0 |
public void assertConstraint(UnitPropagationListener s) { |
| 222 | 0 | throw new UnsupportedOperationException(); |
| 223 | } | |
| 224 | } | |
|
||||||||||