Revision 5e30b196
Added by Leszek Koltunski about 1 year ago
src/main/java/org/distorted/objectlib/tablebases/TablebasesAbstract.java | ||
---|---|---|
273 | 273 |
|
274 | 274 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
275 | 275 |
|
276 |
public void createTablebase() |
|
276 |
public void createTablebase(int maxLevel)
|
|
277 | 277 |
{ |
278 | 278 |
mTablebase = new Tablebase(mSize); |
279 | 279 |
mTablebase.insertUnpacked(0,(byte)0); |
... | ... | |
297 | 297 |
totalInserted += numInserted; |
298 | 298 |
android.util.Log.e("D", "inserted "+numInserted+" positions at level "+insertingLevel); |
299 | 299 |
} |
300 |
while( numInserted>0 ); |
|
300 |
while( numInserted>0 && insertingLevel!=maxLevel );
|
|
301 | 301 |
|
302 | 302 |
android.util.Log.e("D", "total Inserted: "+totalInserted); |
303 |
} |
|
304 |
|
|
305 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
306 |
|
|
307 |
public void pack() |
|
308 |
{ |
|
303 | 309 |
android.util.Log.e("D", "packing..."); |
304 | 310 |
mTablebase.pack(); |
305 | 311 |
android.util.Log.e("D", "all done"); |
... | ... | |
533 | 539 |
|
534 | 540 |
return false; |
535 | 541 |
} |
542 |
|
|
543 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
544 |
|
|
545 |
public void testPruning(int level) |
|
546 |
{ |
|
547 |
int[] bits = {4,8,12,16}; |
|
548 |
|
|
549 |
for( int j=0; j<bits.length; j++) |
|
550 |
{ |
|
551 |
|
|
552 |
android.util.Log.e("D", "-------------------------- "+bits[j]); |
|
553 |
|
|
554 |
PruningTable table = new PruningTable(mTablebase,level,bits[j]); |
|
555 |
int size = mTablebase.getSize(); |
|
556 |
|
|
557 |
StringBuilder sb = new StringBuilder(); |
|
558 |
int num=0; |
|
559 |
|
|
560 |
for(int i=0; i<size; i++) |
|
561 |
{ |
|
562 |
if( table.belongs(i) ) |
|
563 |
{ |
|
564 |
if( (num%10)==0 ) sb.append("\n"); |
|
565 |
num++; |
|
566 |
sb.append(i); |
|
567 |
sb.append(' '); |
|
568 |
} |
|
569 |
} |
|
570 |
|
|
571 |
android.util.Log.e("D", "numbers: "+sb); |
|
572 |
} |
|
573 |
} |
|
536 | 574 |
} |
Also available in: Unified diff
New PruningTable data structure for solvers.