commit 697d16ed6ca7a6e02ac5ecead3ec1a32d5936c79
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Fri Apr 21 23:38:19 2023 +0200

    CU_323 solver: remove mUpper.

diff --git a/src/main/java/org/distorted/solvers/SolverCuboid323.java b/src/main/java/org/distorted/solvers/SolverCuboid323.java
index 17f53241..c87925b5 100644
--- a/src/main/java/org/distorted/solvers/SolverCuboid323.java
+++ b/src/main/java/org/distorted/solvers/SolverCuboid323.java
@@ -33,16 +33,12 @@ public class SolverCuboid323 extends SolverTablebase
   TablebasesAbstract mSolver;
   private final int[] mFaceColors;
   private int mErrorColor1, mErrorColor2, mErrorColor3;
-  private boolean mUpper;
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
-// true or false, depending on if the 'half-fixed' front edge is in its place or not.
-// if the 'half-fixed' edge is the upped front one (i.e. mUpper==true) than it can be in its
-// place or not; if mUpper==false it always must be in its place.
 
   private boolean isFrontEdgeInItsPlace(int[][] edges)
     {
-    return (!mUpper || edges[3][1]==mFaceColors[2]);
+    return edges[1][1]==mFaceColors[3];
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
@@ -181,21 +177,11 @@ public class SolverCuboid323 extends SolverTablebase
     mFaceColors[2] = centers[0];
     mFaceColors[3] = centers[1];
 
-    if( edges[1][1]==mFaceColors[2] )
+    if( edges[1][1]==mFaceColors[2] || edges[1][1]==mFaceColors[3] )
       {
-      mUpper = true;
       mFaceColors[4] = edges[1][0];
       }
-    else if( edges[3][1]==mFaceColors[2] )
-      {
-      mUpper = true;
-      mFaceColors[4] = edges[3][0];
-      }
-    else
-      {
-      mUpper = false;
-      mFaceColors[4] = edges[3][0];
-      }
+    else return ERROR_CORNERS_CANNOT;
 
     mFaceColors[0] = findCorner(corners,mFaceColors[4],mFaceColors[2]);
     if( mFaceColors[0]<0 ) return mFaceColors[0];
@@ -308,16 +294,16 @@ public class SolverCuboid323 extends SolverTablebase
 //    TablebaseHelpers.displayTable(corner_perm, "CORNER PERM");
 //    TablebaseHelpers.displayTable(edge_perm, "EDGE PERM");
 
-    int[] edge_perm2 = TBCuboid323.edgePermTo7(edge_perm,mUpper); // edge1 (lower) or edge3 (upper) is fixed!
+    int[] edge_perm2 = TBCuboid323.edgePermTo7(edge_perm);
 
     int corner_perm_num = TablebaseHelpers.computePermutationNum(corner_perm);
     int edge_perm_num = TablebaseHelpers.computePermutationNum(edge_perm2);
     boolean inPlace = isFrontEdgeInItsPlace(edges);
 
-//android.util.Log.e("D", "corner_perm_num: "+corner_perm_num+" edge_perm_num: "+edge_perm_num+" inPlace: "+inPlace);
-//android.util.Log.e("D", "index="+(corner_perm_num + 40320*( (inPlace?0:1) + 2*edge_perm_num)));
+android.util.Log.e("D", "corner_perm_num: "+corner_perm_num+" edge_perm_num: "+edge_perm_num+" inPlace: "+inPlace);
+android.util.Log.e("D", "index="+(corner_perm_num + 40320*( (inPlace?0:1) + 2*edge_perm_num)));
 
-    TBCuboid323.setUpper(mUpper, mUpper^inPlace);
+    TBCuboid323.setDown(inPlace);
 
     return corner_perm_num + 40320*( (inPlace?0:1) + 2*edge_perm_num);
     }
@@ -470,7 +456,7 @@ public class SolverCuboid323 extends SolverTablebase
       {
       mSolver = ImplementedTablebasesList.createPacked(os,ObjectSignatures.CU_323);
       //mSolver = ImplementedTablebasesList.createUnpacked(ObjectSignatures.CU_323);
-      //if( mSolver!=null ) mSolver.test();
+      //if( mSolver!=null ) mSolver.createTablebase(1);
       }
 
     return mSolver!=null ? mSolver.solution(index,null,os) : null;
