Skip to content

Commit 1320ff0

Browse files
committed
shorten some code paths
1 parent 686376f commit 1320ff0

File tree

7 files changed

+109
-107
lines changed

7 files changed

+109
-107
lines changed

Count/CTabRunLog.txt

Lines changed: 58 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -1,73 +1,59 @@
11
n total count date cacheSizes
2-
1 0 1 Mon Sep 15 10:10:19 PDT 2014 { }
3-
2 0 1 Mon Sep 15 10:10:19 PDT 2014 { }
4-
3 0 1 Mon Sep 15 10:10:19 PDT 2014 { }
5-
3 1 6 Mon Sep 15 10:10:19 PDT 2014 { [1,1]:0 [1,2]:1 [2,2]:1 }
6-
4 0 1 Mon Sep 15 10:10:19 PDT 2014 { }
7-
4 1 24 Mon Sep 15 10:10:19 PDT 2014 { [2,2]:1 }
8-
4 2 282 Mon Sep 15 10:10:19 PDT 2014 { [2,2]:5 }
9-
4 3 2008 Mon Sep 15 10:10:19 PDT 2014 { [2,2]:9 }
10-
5 0 1 Mon Sep 15 10:10:19 PDT 2014 { }
11-
5 1 120 Mon Sep 15 10:10:19 PDT 2014 { [2,2]:0 [2,3]:1 [3,3]:1 }
12-
5 2 6210 Mon Sep 15 10:10:20 PDT 2014 { [2,2]:1 [2,3]:6 [3,3]:7 }
13-
5 3 153040 Mon Sep 15 10:10:20 PDT 2014 { [2,2]:3 [2,3]:15 [3,3]:11 }
14-
5 4 2224955 Mon Sep 15 10:10:20 PDT 2014 { [2,2]:4 [2,3]:28 [3,3]:30 }
15-
5 5 22069251 Mon Sep 15 10:10:20 PDT 2014 { [2,2]:9 [2,3]:52 [3,3]:45 }
16-
5 6 164176640 Mon Sep 15 10:10:20 PDT 2014 { [2,2]:10 [2,3]:84 [3,3]:88 }
17-
6 0 1 Mon Sep 15 10:10:20 PDT 2014 { }
18-
6 1 720 Mon Sep 15 10:10:20 PDT 2014 { [3,3]:1 }
19-
6 2 202410 Mon Sep 15 10:10:20 PDT 2014 { [3,3]:9 }
20-
6 3 20933840 Mon Sep 15 10:10:20 PDT 2014 { [3,3]:19 }
21-
6 4 1047649905 Mon Sep 15 10:10:20 PDT 2014 { [3,3]:50 }
22-
6 5 30767936616 Mon Sep 15 10:10:20 PDT 2014 { [3,3]:96 }
23-
6 6 602351808741 Mon Sep 15 10:10:20 PDT 2014 { [3,3]:178 }
24-
6 7 8575979362560 Mon Sep 15 10:10:20 PDT 2014 { [3,3]:303 }
25-
6 8 94459713879600 Mon Sep 15 10:10:20 PDT 2014 { [3,3]:490 }
26-
6 9 842286559093240 Mon Sep 15 10:10:21 PDT 2014 { [3,3]:755 }
27-
6 10 6292583664553881 Mon Sep 15 10:10:21 PDT 2014 { [3,3]:1149 }
28-
7 0 1 Mon Sep 15 10:10:21 PDT 2014 { }
29-
7 1 5040 Mon Sep 15 10:10:22 PDT 2014 { [3,3]:0 [3,4]:1 [4,4]:1 }
30-
7 2 9135630 Mon Sep 15 10:10:22 PDT 2014 { [3,3]:3 [3,4]:10 [4,4]:10 }
31-
7 3 4662857360 Mon Sep 15 10:10:22 PDT 2014 { [3,3]:6 [3,4]:35 [4,4]:18 }
32-
7 4 936670590450 Mon Sep 15 10:10:22 PDT 2014 { [3,3]:16 [3,4]:76 [4,4]:72 }
33-
7 5 94161778046406 Mon Sep 15 10:10:22 PDT 2014 { [3,3]:28 [3,4]:184 [4,4]:121 }
34-
7 6 5562418293759978 Mon Sep 15 10:10:22 PDT 2014 { [3,3]:50 [3,4]:370 [4,4]:316 }
35-
7 7 215717608046511873 Mon Sep 15 10:10:23 PDT 2014 { [3,3]:87 [3,4]:693 [4,4]:514 }
36-
7 8 5945968652327831925 Mon Sep 15 10:10:23 PDT 2014 { [3,3]:132 [3,4]:1228 [4,4]:1072 }
37-
7 9 123538613356253145400 Mon Sep 15 10:10:24 PDT 2014 { [3,3]:205 [3,4]:2071 [4,4]:1652 }
38-
7 10 2023270039486328373811 Mon Sep 15 10:10:25 PDT 2014 { [3,3]:296 [3,4]:3320 [4,4]:2995 }
39-
7 11 27046306550096288483238 Mon Sep 15 10:10:27 PDT 2014 { [3,3]:431 [3,4]:5150 [4,4]:4392 }
40-
7 12 303378141987182515342992 Mon Sep 15 10:10:29 PDT 2014 { [3,3]:604 [3,4]:7829 [4,4]:7404 }
41-
7 13 2920054336492521720572276 Mon Sep 15 10:10:30 PDT 2014 { [3,3]:820 [3,4]:11417 [4,4]:10471 }
42-
7 14 24563127009195223721952590 Mon Sep 15 10:10:33 PDT 2014 { [3,3]:1121 [3,4]:16495 [4,4]:16383 }
43-
7 15 183343273080700916973016745 Mon Sep 15 10:10:36 PDT 2014 { [3,3]:1459 [3,4]:23121 [4,4]:22547 }
44-
8 0 1 Mon Sep 15 10:10:36 PDT 2014 { }
45-
8 1 40320 Mon Sep 15 10:10:36 PDT 2014 { [4,4]:1 }
46-
8 2 545007960 Mon Sep 15 10:10:36 PDT 2014 { [4,4]:14 }
47-
8 3 1579060246400 Mon Sep 15 10:10:36 PDT 2014 { [4,4]:37 }
48-
8 4 1455918295922650 Mon Sep 15 10:10:36 PDT 2014 { [4,4]:121 }
49-
8 5 569304690994400256 Mon Sep 15 10:10:36 PDT 2014 { [4,4]:290 }
50-
8 6 114601242382721619224 Mon Sep 15 10:10:36 PDT 2014 { [4,4]:651 }
51-
8 7 13590707419428422843904 Mon Sep 15 10:10:37 PDT 2014 { [4,4]:1340 }
52-
8 8 1046591482728407939338275 Mon Sep 15 10:10:37 PDT 2014 { [4,4]:2569 }
53-
8 9 56272722406349235035916800 Mon Sep 15 10:10:38 PDT 2014 { [4,4]:4647 }
54-
8 10 2233160342369825596702148720 Mon Sep 15 10:10:38 PDT 2014 { [4,4]:8065 }
55-
8 11 68316292103293669997188919040 Mon Sep 15 10:10:40 PDT 2014 { [4,4]:13330 }
56-
8 12 1667932098862773837734823042196 Mon Sep 15 10:10:42 PDT 2014 { [4,4]:21492 }
57-
8 13 33427469280977307618866364694400 Mon Sep 15 10:10:45 PDT 2014 { [4,4]:33264 }
58-
8 14 562798805673342016752366344185200 Mon Sep 15 10:10:51 PDT 2014 { [4,4]:50812 }
59-
8 15 8115208977465404874100226492575360 Mon Sep 15 10:10:59 PDT 2014 { [4,4]:74807 }
60-
8 16 101857066150530294146428615917957029 Mon Sep 15 10:11:11 PDT 2014 { [4,4]:109210 }
61-
8 17 1128282526405022554049557329097252992 Mon Sep 15 10:11:27 PDT 2014 { [4,4]:154969 }
62-
8 18 11161302946841260178530673680176000200 Mon Sep 15 10:11:55 PDT 2014 { [4,4]:217650 }
63-
8 19 99613494890126594335550124219924540800 Mon Sep 15 10:12:33 PDT 2014 { [4,4]:299468 }
64-
8 20 809256770610540675454657517194018680846 Mon Sep 15 10:13:30 PDT 2014 { [4,4]:408115 }
65-
8 21 6031107989875562751266116901999327710720 Mon Sep 15 10:14:56 PDT 2014 { [4,4]:547146 }
66-
9 0 1 Mon Sep 15 10:14:56 PDT 2014 { }
67-
9 1 362880 Mon Sep 15 10:15:01 PDT 2014 { [4,4]:0 [4,5]:1 [5,5]:1 }
68-
9 2 41514583320 Mon Sep 15 10:15:01 PDT 2014 { [4,4]:5 [4,5]:15 [5,5]:14 }
69-
9 3 772200774683520 Mon Sep 15 10:15:01 PDT 2014 { [4,4]:11 [4,5]:62 [5,5]:29 }
70-
9 4 3680232136895819610 Mon Sep 15 10:15:01 PDT 2014 { [4,4]:43 [4,5]:176 [5,5]:144 }
71-
9 5 6274236760589024662176 Mon Sep 15 10:15:02 PDT 2014 { [4,4]:77 [4,5]:535 [5,5]:290 }
72-
9 6 4801114002903931560293544 Mon Sep 15 10:15:04 PDT 2014 { [4,4]:200 [4,5]:1271 [5,5]:928 }
73-
9 7 1933216160887575268614599040 Mon Sep 15 10:15:11 PDT 2014 { [4,4]:356 [4,5]:2804 [5,5]:1791 }
2+
1 0 1 Tue Sep 16 17:51:06 PDT 2014 { }
3+
2 0 1 Tue Sep 16 17:51:06 PDT 2014 { }
4+
3 0 1 Tue Sep 16 17:51:06 PDT 2014 { }
5+
3 1 6 Tue Sep 16 17:51:06 PDT 2014 { [1,1]:0 [1,2]:1 [2,2]:1 }
6+
4 0 1 Tue Sep 16 17:51:06 PDT 2014 { }
7+
4 1 24 Tue Sep 16 17:51:06 PDT 2014 { [2,2]:1 }
8+
4 2 282 Tue Sep 16 17:51:06 PDT 2014 { [2,2]:5 }
9+
4 3 2008 Tue Sep 16 17:51:06 PDT 2014 { [2,2]:9 }
10+
5 0 1 Tue Sep 16 17:51:06 PDT 2014 { }
11+
5 1 120 Tue Sep 16 17:51:06 PDT 2014 { [2,2]:0 [2,3]:1 [3,3]:1 }
12+
5 2 6210 Tue Sep 16 17:51:06 PDT 2014 { [2,2]:1 [2,3]:6 [3,3]:7 }
13+
5 3 153040 Tue Sep 16 17:51:06 PDT 2014 { [2,2]:3 [2,3]:15 [3,3]:11 }
14+
5 4 2224955 Tue Sep 16 17:51:06 PDT 2014 { [2,2]:4 [2,3]:28 [3,3]:30 }
15+
5 5 22069251 Tue Sep 16 17:51:06 PDT 2014 { [2,2]:9 [2,3]:52 [3,3]:45 }
16+
5 6 164176640 Tue Sep 16 17:51:06 PDT 2014 { [2,2]:10 [2,3]:84 [3,3]:88 }
17+
6 0 1 Tue Sep 16 17:51:06 PDT 2014 { }
18+
6 1 720 Tue Sep 16 17:51:06 PDT 2014 { [3,3]:1 }
19+
6 2 202410 Tue Sep 16 17:51:06 PDT 2014 { [3,3]:9 }
20+
6 3 20933840 Tue Sep 16 17:51:06 PDT 2014 { [3,3]:19 }
21+
6 4 1047649905 Tue Sep 16 17:51:06 PDT 2014 { [3,3]:50 }
22+
6 5 30767936616 Tue Sep 16 17:51:06 PDT 2014 { [3,3]:96 }
23+
6 6 602351808741 Tue Sep 16 17:51:06 PDT 2014 { [3,3]:178 }
24+
6 7 8575979362560 Tue Sep 16 17:51:06 PDT 2014 { [3,3]:303 }
25+
6 8 94459713879600 Tue Sep 16 17:51:06 PDT 2014 { [3,3]:490 }
26+
6 9 842286559093240 Tue Sep 16 17:51:07 PDT 2014 { [3,3]:755 }
27+
6 10 6292583664553881 Tue Sep 16 17:51:07 PDT 2014 { [3,3]:1149 }
28+
7 0 1 Tue Sep 16 17:51:07 PDT 2014 { }
29+
7 1 5040 Tue Sep 16 17:51:07 PDT 2014 { [3,3]:0 [3,4]:1 [4,4]:1 }
30+
7 2 9135630 Tue Sep 16 17:51:07 PDT 2014 { [3,3]:3 [3,4]:10 [4,4]:10 }
31+
7 3 4662857360 Tue Sep 16 17:51:07 PDT 2014 { [3,3]:6 [3,4]:35 [4,4]:18 }
32+
7 4 936670590450 Tue Sep 16 17:51:07 PDT 2014 { [3,3]:16 [3,4]:76 [4,4]:72 }
33+
7 5 94161778046406 Tue Sep 16 17:51:07 PDT 2014 { [3,3]:28 [3,4]:184 [4,4]:121 }
34+
7 6 5562418293759978 Tue Sep 16 17:51:07 PDT 2014 { [3,3]:50 [3,4]:370 [4,4]:316 }
35+
7 7 215717608046511873 Tue Sep 16 17:51:07 PDT 2014 { [3,3]:87 [3,4]:693 [4,4]:514 }
36+
7 8 5945968652327831925 Tue Sep 16 17:51:08 PDT 2014 { [3,3]:132 [3,4]:1228 [4,4]:1072 }
37+
7 9 123538613356253145400 Tue Sep 16 17:51:09 PDT 2014 { [3,3]:205 [3,4]:2071 [4,4]:1652 }
38+
7 10 2023270039486328373811 Tue Sep 16 17:51:10 PDT 2014 { [3,3]:296 [3,4]:3320 [4,4]:2995 }
39+
7 11 27046306550096288483238 Tue Sep 16 17:51:12 PDT 2014 { [3,3]:431 [3,4]:5150 [4,4]:4392 }
40+
7 12 303378141987182515342992 Tue Sep 16 17:51:14 PDT 2014 { [3,3]:604 [3,4]:7829 [4,4]:7404 }
41+
7 13 2920054336492521720572276 Tue Sep 16 17:51:15 PDT 2014 { [3,3]:820 [3,4]:11417 [4,4]:10471 }
42+
7 14 24563127009195223721952590 Tue Sep 16 17:51:18 PDT 2014 { [3,3]:1121 [3,4]:16495 [4,4]:16383 }
43+
7 15 183343273080700916973016745 Tue Sep 16 17:51:22 PDT 2014 { [3,3]:1459 [3,4]:23121 [4,4]:22547 }
44+
8 0 1 Tue Sep 16 17:51:22 PDT 2014 { }
45+
8 1 40320 Tue Sep 16 17:51:22 PDT 2014 { [4,4]:1 }
46+
8 2 545007960 Tue Sep 16 17:51:22 PDT 2014 { [4,4]:14 }
47+
8 3 1579060246400 Tue Sep 16 17:51:22 PDT 2014 { [4,4]:37 }
48+
8 4 1455918295922650 Tue Sep 16 17:51:22 PDT 2014 { [4,4]:121 }
49+
8 5 569304690994400256 Tue Sep 16 17:51:22 PDT 2014 { [4,4]:290 }
50+
8 6 114601242382721619224 Tue Sep 16 17:51:22 PDT 2014 { [4,4]:651 }
51+
8 7 13590707419428422843904 Tue Sep 16 17:51:22 PDT 2014 { [4,4]:1340 }
52+
8 8 1046591482728407939338275 Tue Sep 16 17:51:22 PDT 2014 { [4,4]:2569 }
53+
8 9 56272722406349235035916800 Tue Sep 16 17:51:23 PDT 2014 { [4,4]:4647 }
54+
8 10 2233160342369825596702148720 Tue Sep 16 17:51:23 PDT 2014 { [4,4]:8065 }
55+
8 11 68316292103293669997188919040 Tue Sep 16 17:51:25 PDT 2014 { [4,4]:13330 }
56+
8 12 1667932098862773837734823042196 Tue Sep 16 17:51:27 PDT 2014 { [4,4]:21492 }
57+
8 13 33427469280977307618866364694400 Tue Sep 16 17:51:31 PDT 2014 { [4,4]:33264 }
58+
8 14 562798805673342016752366344185200 Tue Sep 16 17:51:37 PDT 2014 { [4,4]:50812 }
59+
8 15 8115208977465404874100226492575360 Tue Sep 16 17:51:46 PDT 2014 { [4,4]:74807 }

Count/src/com/mzlabs/count/ctab/CTab.java

Lines changed: 32 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
import java.math.BigInteger;
44
import java.util.Arrays;
55
import java.util.Date;
6+
import java.util.Set;
7+
import java.util.TreeSet;
68

79
import com.mzlabs.count.ContingencyTableProblem;
810
import com.mzlabs.count.NonNegativeIntegralCounter;
@@ -47,6 +49,9 @@ public BigInteger countSqTables(final int rowsCols, final int total) {
4749
if(rowsCols<=0) {
4850
throw new IllegalArgumentException();
4951
}
52+
if(rowsCols>=subCounters.length) {
53+
throw new IllegalArgumentException();
54+
}
5055
if(total<0) {
5156
return BigInteger.ZERO;
5257
}
@@ -55,7 +60,19 @@ public BigInteger countSqTables(final int rowsCols, final int total) {
5560
}
5661
// now know rowsCols>1 and total>0, split into semi-regular tables
5762
final int n1 = rowsCols/2;
58-
final int n2 = rowsCols - n1;
63+
final int n2 = rowsCols - n1;
64+
final Set<Integer> subDims = new TreeSet<Integer>();
65+
subDims.add(n1);
66+
subDims.add(n2);
67+
for(final int v1: subDims) {
68+
for(final int v2: subDims) {
69+
if((0<v1)&&(v1<=v2)) {
70+
if(null==subCounters[v1][v2]) {
71+
subCounters[v1][v2] = getSubCounter(v1,v2);
72+
}
73+
}
74+
}
75+
}
5976
final int targetSum = n1*total;
6077
final OrderStepperTot stepper = new OrderStepperTot(rowsCols,total,targetSum);
6178
final IntFunc subF = new IntFunc() {
@@ -85,23 +102,15 @@ public BigInteger f(final int[] x) {
85102
return sum;
86103
}
87104

88-
private CPair getSubCounter(final int nRows, final int nCols) {
89-
CPair counter = null;
90-
synchronized (subCounters) { // essentially serialized here
91-
counter = subCounters[nRows][nCols];
92-
if(null==counter) {
93-
final ContingencyTableProblem cp = new ContingencyTableProblem(nRows,nCols);
94-
final NonNegativeIntegralCounter cnt;
95-
if(nRows*nCols<=28) {
96-
cnt = new ZeroOneCounter(cp,true);
97-
} else {
98-
cnt = new DivideAndConquerCounter(cp,false,false,true);
99-
}
100-
counter = new CPair(cp,cnt);
101-
subCounters[nRows][nCols] = counter;
102-
}
105+
private static CPair getSubCounter(final int nRows, final int nCols) {
106+
final ContingencyTableProblem cp = new ContingencyTableProblem(nRows,nCols);
107+
final NonNegativeIntegralCounter cnt;
108+
if(nRows*nCols<=28) {
109+
cnt = new ZeroOneCounter(cp,true);
110+
} else {
111+
cnt = new DivideAndConquerCounter(cp,false,false,true);
103112
}
104-
return counter;
113+
return new CPair(cp,cnt);
105114
}
106115

107116
public String cacheSizesString() {
@@ -198,23 +207,21 @@ private BigInteger countTablesSub(final int[] rowTotalsIn, final int[] colTotals
198207
colTotals = tmp;
199208
}
200209
// delegate problem
201-
final CPair counter = getSubCounter(rowTotals.length,colTotals.length);
210+
final CPair counter = subCounters[rowTotals.length][colTotals.length];
202211
final int[] b = counter.prob.encodeB(rowTotals,colTotals);
203212
return counter.counter.countNonNegativeSolutions(b);
204213
}
205214

206-
public BigInteger debugConfirmSqTables(final int rowsCols, final int total) {
207-
final int[] rows = new int[rowsCols];
208-
final int[] cols = new int[rowsCols];
209-
Arrays.fill(rows,total);
210-
Arrays.fill(cols,total);
211-
return countTablesSub(rows,cols);
215+
public static BigInteger debugConfirmSqTables(final int rowsCols, final int total) {
216+
final int[] b = new int[2*rowsCols];
217+
Arrays.fill(b,total);
218+
return getSubCounter(rowsCols,rowsCols).counter.countNonNegativeSolutions(b);
212219
}
213220

214221
public static void main(final String[] args) {
215222
System.out.println("n" + "\t" + "total" + "\t" + "count" + "\t" + "date" + "\t" + "cacheSizes");
216223
for(int n=1;n<=10;++n) {
217-
final CTab ctab = new CTab(10,true);
224+
final CTab ctab = new CTab(n,true);
218225
for(int total=0;total<=(n*n-3*n+2)/2;++total) {
219226
final BigInteger count = ctab.countSqTables(n,total);
220227
final String cacheSizes = ctab.cacheSizesString();

Count/src/com/mzlabs/count/divideandconquer/SplitNode.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,15 @@
44

55
import com.mzlabs.count.NonNegativeIntegralCounter;
66
import com.mzlabs.count.op.IntFunc;
7+
import com.mzlabs.count.op.IntVecFn;
78
import com.mzlabs.count.op.Reducer;
89
import com.mzlabs.count.op.Sequencer;
10+
import com.mzlabs.count.op.SolnCache;
911
import com.mzlabs.count.op.impl.SimpleSum;
1012
import com.mzlabs.count.op.impl.ThreadedSum;
1113
import com.mzlabs.count.op.iter.RangeIter;
1214
import com.mzlabs.count.op.iter.SeqLE;
1315
import com.mzlabs.count.util.IntVec;
14-
import com.mzlabs.count.util.IntVecFn;
15-
import com.mzlabs.count.util.SolnCache;
1616

1717
final class SplitNode implements NonNegativeIntegralCounter,IntVecFn {
1818
private final NonNegativeIntegralCounter leftSubSystem;
Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
1-
package com.mzlabs.count.util;
1+
package com.mzlabs.count.op;
22

33
import java.math.BigInteger;
44

5+
import com.mzlabs.count.util.IntVec;
6+
57
public interface IntVecFn {
68
BigInteger eval(IntVec x);
79
}

Count/src/com/mzlabs/count/util/SolnCache.java renamed to Count/src/com/mzlabs/count/op/SolnCache.java

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,23 @@
1-
package com.mzlabs.count.util;
1+
package com.mzlabs.count.op;
22

33
import java.math.BigInteger;
4-
import java.util.HashMap;
4+
import java.util.TreeMap;
5+
6+
import com.mzlabs.count.util.IntVec;
57

68
public final class SolnCache {
79
private final int nsub = 1000;
810

911

10-
private static final class CI extends HashMap<IntVec,BHolder> {
12+
private static final class CI extends TreeMap<IntVec,BHolder> {
1113
private static final long serialVersionUID = 1L;
1214
};
1315

16+
/**
17+
* gives as per-problem lock to hold
18+
* @author johnmount
19+
*
20+
*/
1421
private static final class BHolder {
1522
public BigInteger value = null;
1623
}

Count/src/com/mzlabs/count/zeroone/ZeroOneCounter.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,13 @@
88
import com.mzlabs.count.CountingProblem;
99
import com.mzlabs.count.NonNegativeIntegralCounter;
1010
import com.mzlabs.count.divideandconquer.DivideAndConquerCounter;
11+
import com.mzlabs.count.op.IntVecFn;
12+
import com.mzlabs.count.op.SolnCache;
1113
import com.mzlabs.count.op.iter.SeqLE;
1214
import com.mzlabs.count.op.iter.SeqLT;
1315
import com.mzlabs.count.util.IntLinOp;
1416
import com.mzlabs.count.util.IntVec;
15-
import com.mzlabs.count.util.IntVecFn;
1617
import com.mzlabs.count.util.Permutation;
17-
import com.mzlabs.count.util.SolnCache;
1818
import com.mzlabs.count.zeroone.ZeroOneStore.IBPair;
1919
import com.winvector.linalg.DenseVec;
2020
import com.winvector.linalg.LinalgFactory;

Count/tests/com/mzlabs/count/ctab/TestCTab.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ public void testCounter() {
2828
final CTab ctab = new CTab(rowsCols,true);
2929
for(int total=0;total<=10;++total) {
3030
final BigInteger count = ctab.countSqTables(rowsCols,total);
31-
final BigInteger check = ctab.debugConfirmSqTables(rowsCols, total);
31+
final BigInteger check = CTab.debugConfirmSqTables(rowsCols, total);
3232
final boolean eq = (check.compareTo(count)==0);
3333
assertTrue(eq);
3434
//System.out.println(rowsCols + "\t" + total + "\t" + count + "\t" + check + "\t" + eq);
@@ -42,7 +42,7 @@ public void advanceBug2a() {
4242
final int total = 5;
4343
final CTab ctab = new CTab(rowsCols,false);
4444
final BigInteger count = ctab.countSqTables(rowsCols,total);
45-
final BigInteger check = ctab.debugConfirmSqTables(rowsCols, total);
45+
final BigInteger check = CTab.debugConfirmSqTables(rowsCols, total);
4646
final boolean eq = (check.compareTo(count)==0);
4747
assertTrue(eq);
4848
//System.out.println(rowsCols + "\t" + total + "\t" + count + "\t" + check + "\t" + eq);

0 commit comments

Comments
 (0)