Project

General

Profile

« Previous | Next » 

Revision 5b121225

Added by Leszek Koltunski 10 months ago

Bugfixes

View differences:

src/main/java/org/distorted/objectlib/algphases/PhaseRegex.java
157 157
    {
158 158
    int[] moveSeq = mRegex.getFirst();
159 159
    int[] quats = object.getCopiedCubitQuats();
160
    String d = MitmTable.getQuatString(quats);
161
    android.util.Log.e("D", "starting quats: "+d);
162 160

  
163 161
    do
164 162
      {
165 163
      int numMoves = (moveSeq==null ? 0 : moveSeq.length);
166
      for(int m=1; m<7/*numMoves*/; m++)
167
        {
168
        object.makeMove(moveSeq[m]);
169
        String drr = object.debug(1);
170
        android.util.Log.e("D", "making move: "+moveSeq[m]+" corner --+ : "+drr );
171
        }
172

  
164
      for(int m=1; m<numMoves; m++) object.makeMove(moveSeq[m]);
173 165
      int[] qts = object.getCubitQuats();
174

  
175 166
      boolean solved = mTargetQuats.matchesQuats(qts);
176 167
      object.setUpStartingQuats(quats);
177 168
      if( solved ) return simplify(moveSeq);
src/main/java/org/distorted/objectlib/algsolvers/SolvedObject.java
66 66
  public int getMultQuat(int index1, int index2)  { return mQuatMult[index1][index2]; }
67 67
  public int[][] getBasicAngles()                 { return mBasicAngles; }
68 68

  
69
public String debug(int cubit) { return mCubits.debug(cubit); }
70

  
71 69
///////////////////////////////////////////////////////////////////////////////////////////////////
72 70

  
73
  public void setUpStartingQuats(int[] quats)                  { mCubits.setUpQuats(quats); }
74
  public void makeMove(int moveIndex)                          { mCubits.makeMove(moveIndex); }
75
  public void backMove(int moveIndex)                          { mCubits.backMove(moveIndex); }
76
  public int[] getCubitQuats()                                 { return mCubits.getRotQuats(); }
71
  public void setUpStartingQuats(int[] quats)     { mCubits.setUpQuats(quats); }
72
  public void makeMove(int moveIndex)             { mCubits.makeMove(moveIndex); }
73
  public void backMove(int moveIndex)             { mCubits.backMove(moveIndex); }
74
  public int[] getCubitQuats()                    { return mCubits.getRotQuats(); }
75
  public String debug(int cubit)                  { return mCubits.debug(cubit); }
77 76

  
78 77
///////////////////////////////////////////////////////////////////////////////////////////////////
79 78

  
......
245 244
      int row    = move[1];
246 245
      int angle  = move[2];
247 246
      int basic  = mBasicAngles[axis][row];
248
      ret[i] = makeQuaternionIndex(axis,-angle*(360/basic));
247
      ret[i] = makeQuaternionIndex(axis,angle*(360/basic));
249 248
      }
250 249

  
251 250
    return ret;
......
264 263
      int row    = move[1];
265 264
      int angle  = move[2];
266 265
      int basic  = mBasicAngles[axis][row];
267
      ret[i] = makeQuaternionIndex(axis,angle*(360/basic));
266
      ret[i] = makeQuaternionIndex(axis,-angle*(360/basic));
268 267
      }
269 268

  
270 269
    return ret;
src/main/java/org/distorted/objectlib/algsolvers/SolvedObjectCubit.java
25 25
  private final int[][] mMoveTable;
26 26
  private final int[] mQuatForwardTable;
27 27
  private final int[] mQuatBackwardTable;
28

  
29
private final int mNumAxis;
28
  private final int mNumAxis;
30 29

  
31 30
  private static class CubitData
32 31
    {
......
64 63
    mQuatMult  = quatMult;
65 64
    mRotQuats  = new int[mNumCubits];
66 65
    mMoveTable = moveTable;
67

  
68
mNumAxis = axis.length;
66
    mNumAxis   = axis.length;
69 67

  
70 68
    mQuatForwardTable = quatForwardTable;
71 69
    mQuatBackwardTable= quatBackwardTable;
......
79 77
    {
80 78
    StringBuilder sb = new StringBuilder();
81 79
    int q = mRotQuats[cubit];
80
    sb.append("quat: ");
81
    sb.append(q);
82
    sb.append("; ");
82 83

  
83
    for(int a=0; a<mNumAxis; a++)
84
    if( q>=0 )
84 85
      {
85
      sb.append(mData[cubit].rotRowBitmaps[a]);
86
      sb.append(' ');
86
      int ji = mData[cubit].jumpIndices[q];
87

  
88
      for(int a=0; a<mNumAxis; a++)
89
        {
90
        sb.append(mData[ji].rotRowBitmaps[a]);
91
        sb.append(' ');
92
        }
87 93
      }
88 94

  
89 95
    return sb.toString();

Also available in: Unified diff