Clover Coverage Report
Coverage timestamp: mer. juin 27 2007 07:27:16 CEST
12   77   2   1,5
4   39   0,75   8
8     1,12  
1    
 
  RangeDomain       Line # 30 12 2 79,2% 0.7916667
 
  (5)
 
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.reader.csp;
26   
27    import java.util.Iterator;
28    import java.util.NoSuchElementException;
29   
 
30    public class RangeDomain implements Domain {
31   
32    private final int begin;
33   
34    private final int end;
35   
36    private final int size;
37   
 
38  5 toggle public RangeDomain(int begin, int end) {
39  5 this.begin = begin;
40  5 this.end = end;
41  5 size = end - begin + 1;
42    }
43   
 
44  4 toggle public int get(int i) {
45  4 assert i >= 0;
46  4 return begin + i;
47    }
48   
 
49  3 toggle public int size() {
50  3 return size;
51    }
52   
 
53  1 toggle public Iterator<Integer> iterator() {
54  1 return new Iterator<Integer>() {
55    private int i = begin;
56   
 
57  5 toggle public boolean hasNext() {
58  5 return i <= end;
59    }
60   
 
61  4 toggle public Integer next() {
62  4 if (i > end)
63  0 throw new NoSuchElementException();
64  4 return i++;
65    }
66   
 
67  0 toggle public void remove() {
68  0 throw new UnsupportedOperationException();
69    }
70    };
71    }
72   
 
73  5 toggle public int pos(int value) {
74  5 return value - begin;
75    }
76   
77    }