Clover Coverage Report
Coverage timestamp: mer. juin 27 2007 07:27:16 CEST
7   88   1   1
0   49   1   7
7     1  
1    
 
  PuebloPBMinClauseCardConstrDataStructure       Line # 39 7 1 85,7% 0.85714287
 
  (53)
 
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.constraints;
26   
27    import java.math.BigInteger;
28   
29    import org.sat4j.minisat.constraints.pb.IDataStructurePB;
30    import org.sat4j.minisat.constraints.pb.MinWatchCardPB;
31    import org.sat4j.minisat.constraints.pb.MinWatchPb;
32    import org.sat4j.minisat.constraints.pb.PBConstr;
33    import org.sat4j.minisat.constraints.pb.PuebloMinWatchPb;
34    import org.sat4j.minisat.constraints.pb.WLClausePB;
35    import org.sat4j.specs.ContradictionException;
36    import org.sat4j.specs.IVec;
37    import org.sat4j.specs.IVecInt;
38   
 
39    public class PuebloPBMinClauseCardConstrDataStructure extends
40    AbstractPBClauseCardConstrDataStructure {
41   
42    /**
43    *
44    */
45    private static final long serialVersionUID = 1L;
46   
 
47  371435 toggle @Override
48    protected PBConstr constructClause(IVecInt v) {
49  371435 return WLClausePB.brandNewClause(solver, getVocabulary(), v);
50    }
51   
 
52  18412 toggle @Override
53    protected PBConstr constructCard(IVecInt lits, int degree)
54    throws ContradictionException {
55  18412 return MinWatchCardPB.normalizedMinWatchCardPBNew(solver,
56    getVocabulary(), lits, degree);
57    }
58   
 
59  0 toggle @Override
60    protected PBConstr constructPB(IDataStructurePB mpb)
61    throws ContradictionException {
62  0 return MinWatchPb.normalizedMinWatchPbNew(solver, getVocabulary(), mpb);
63    }
64   
 
65  123264 toggle @Override
66    protected PBConstr constructPB(int[] lits, BigInteger[] coefs, BigInteger degree)
67    throws ContradictionException {
68  123264 return MinWatchPb.normalizedMinWatchPbNew(solver, getVocabulary(), lits, coefs, degree);
69    }
70   
 
71  1043534 toggle @Override
72    protected PBConstr constructLearntClause(IVecInt literals) {
73  1043534 return new WLClausePB(literals, getVocabulary());
74    }
75   
 
76  1335 toggle @Override
77    protected PBConstr constructLearntCard(IVecInt literals, int degree) {
78  1335 return new MinWatchCardPB(getVocabulary(), literals, true, degree);
79    }
80   
 
81  3255 toggle @Override
82    protected PBConstr constructLearntPB(IVecInt literals,
83    IVec<BigInteger> coefs, BigInteger degree) {
84  3255 return PuebloMinWatchPb.watchPbNew(getVocabulary(), literals, coefs,
85    true, degree);
86    }
87   
88    }