Project

General

Profile

« Previous | Next » 

Revision 766bf4c4

Added by Leszek Koltunski 9 months ago

Debugs for the crash in Dino6 solver

View differences:

src/main/java/org/distorted/objectlib/tablebases/TablebasesAbstract.java
39 39
  private int[][] mQuatMult;
40 40
  private int[] mInvertedQuat;
41 41

  
42
  private ArrayList<int[]> mMoves;
43

  
42 44
  Tablebase mTablebase;
43 45
  boolean mInitialized;
46
  int mLastSolvingIndex;
44 47

  
45 48
  final int mScalingFactor;
46 49
  final int mNumAxis;
......
475 478
    {
476 479
    if( !mInitialized ) return null;
477 480

  
481
    if( mMoves==null ) mMoves = new ArrayList<>();
482
    else               mMoves.clear();
483

  
478 484
    int[] data = new int[4];
479 485
    byte level = mTablebase.retrievePacked(index);
480
    ArrayList<int[]> moves = new ArrayList<>();
481 486
    int[] quats = getQuats(index);
482 487
    int numQuats = quats.length;
483 488
    int[] tmpQuats = new int[numQuats];
489
    mLastSolvingIndex = index;
484 490

  
485 491
    while( !isSolved(index) )
486 492
      {
......
519 525
          if( ((newLevel-level+1)%3) == 0 )
520 526
            {
521 527
            int[] tmpMove = newMove(ax,layer,angle);
522
            moves.add(tmpMove);
528
            mMoves.add(tmpMove);
523 529
            index = childIndex;
524 530
            level = (level==0 ? 2 : (byte)(level-1));
525 531
            found = true;
......
538 544
        }
539 545
      }
540 546

  
541
    int[][] ret = convertMovesFromArray(moves);
547
    int[][] ret = convertMovesFromArray(mMoves);
542 548
    return extraInfo(ret,extra);
543 549
    }
544 550

  
......
632 638

  
633 639
  public void test(OperatingSystemInterface os)
634 640
    {
641
    /*
635 642
    int index = 252373232;
636 643
    int[] q = getQuats(index);
637 644
    TablebaseHelpers.displayTable(q , "QUATS ");
645
    */
646

  
647
    int[] extra = new int[4];
648

  
649
    for(int i=6525000; i<19958400; i++)
650
      {
651
      int[][] sol = solution(i,extra,os);
652
      if( (i%1000)==0 ) android.util.Log.e("D ", "solving: "+i);
653
      }
638 654
    }
639 655
}

Also available in: Unified diff