Revision 83741dc4
Added by Leszek Koltunski 11 months ago
src/main/java/org/distorted/objectlib/algsolvers/MoveProvider.java | ||
---|---|---|
26 | 26 |
|
27 | 27 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
28 | 28 |
|
29 |
int getBranchingFactor() { return mNumMoves; } |
|
29 | 30 |
int getPosition() { return mCurrentMove; } |
30 | 31 |
void setPosition(int pos) { mCurrentMove = pos; } |
31 | 32 |
|
src/main/java/org/distorted/objectlib/algsolvers/PhaseMitm.java | ||
---|---|---|
50 | 50 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
51 | 51 |
|
52 | 52 |
@Override |
53 |
boolean solveAnySubphase( SolvedObject object, MitmTable table, int[][] solution, int subPhase)
|
|
53 |
boolean solveAnySubphase(SolvedObject object, MitmTable table, int[][] solution, int subPhase) |
|
54 | 54 |
{ |
55 | 55 |
int maxDepth = 0; |
56 | 56 |
TargetQuats tmp = new TargetQuats(mTargetQuats); |
... | ... | |
69 | 69 |
if( sp!=-1 && sp!=s && !mSolved[sp] ) mTargetQuats.setIrrelevant(c); |
70 | 70 |
} |
71 | 71 |
|
72 |
maxDepth = prepareForSubPhase(object,table);
|
|
72 |
maxDepth = prepareForSubPhase(table); |
|
73 | 73 |
solution[subPhase] = findSol(object,table,d); |
74 | 74 |
mTargetQuats.set(tmp); |
75 | 75 |
|
... | ... | |
85 | 85 |
|
86 | 86 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
87 | 87 |
|
88 |
private int prepareForSubPhase(SolvedObject object, MitmTable table)
|
|
88 |
private int prepareForSubPhase(MitmTable table) |
|
89 | 89 |
{ |
90 | 90 |
table.prepareForSubPhase(mTargetQuats); |
91 | 91 |
int bytesPerEntry = table.getBytesPerEntry(); |
92 |
int branchingFactor = object.getBranchingFactor();
|
|
92 |
int branchingFactor = mMoveProvider.getBranchingFactor();
|
|
93 | 93 |
|
94 | 94 |
mForwardDepth = computeForwardDepth(bytesPerEntry,branchingFactor); |
95 | 95 |
mBackwardDepth = computeBackwardDepth(branchingFactor); |
src/main/java/org/distorted/objectlib/algsolvers/SolvedObject.java | ||
---|---|---|
65 | 65 |
int invertMove(int moveIndex) { return mMoveInterts[moveIndex]; } |
66 | 66 |
Static4D[] getQuats() { return mQuats; } |
67 | 67 |
float[][] getCubitPositions() { return mOrigPos; } |
68 |
int getBranchingFactor() { return mBranchingFactor; } |
|
68 |
//int getBranchingFactor() { return mBranchingFactor; }
|
|
69 | 69 |
int getMultQuat(int index1, int index2) { return mQuatMult[index1][index2]; } |
70 | 70 |
int[][] getBasicAngles() { return mBasicAngles; } |
71 | 71 |
|
Also available in: Unified diff
branching foctor does not depend on SolvedObject, but on MoveProvider.