Project

General

Profile

« Previous | Next » 

Revision 5e30b196

Added by Leszek Koltunski about 1 year ago

New PruningTable data structure for solvers.

View differences:

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