Project

General

Profile

« Previous | Next » 

Revision 971a184e

Added by Leszek Koltunski about 1 year ago

CU_232 solver: finished

View differences:

src/main/java/org/distorted/objectlib/tablebases/TablebasesCuboid232.java
18 18

  
19 19
public class TablebasesCuboid232 extends TablebasesAbstract
20 20
{
21
  private static final int[][] CORNER_MAP = new int[][]
22
      {
23
          {0,4,7,1,2,3,5,6},
24
          {2,0,1,6,3,4,7,5},
25
          {7,1,0,4,5,6,2,3},
26
          {1,6,2,0,7,5,3,4},
27
          {4,3,5,7,0,2,6,1},
28
          {3,2,6,5,4,0,1,7},
29
          {5,7,4,3,6,1,0,2},
30
          {6,5,3,2,1,7,4,0}
31
      };
32

  
33
///////////////////////////////////////////////////////////////////////////////////////////////////
34

  
21 35
  public TablebasesCuboid232()
22 36
    {
23 37
    super();
......
27 41

  
28 42
  public TablebasesCuboid232(Resources res)
29 43
    {
30
    super(res,org.distorted.objectlib.R.raw.ivy_2_tablebase);
44
    super(res,org.distorted.objectlib.R.raw.cu_232_tablebase);
31 45
    }
32 46

  
33 47
///////////////////////////////////////////////////////////////////////////////////////////////////
......
96 110

  
97 111
  private void getCornerQuats(int[] output, int[] perm)
98 112
    {
99

  
113
    for(int i=0; i<8; i++)
114
      output[i] = CORNER_MAP[i][perm[i]];
100 115
    }
101 116

  
102 117
///////////////////////////////////////////////////////////////////////////////////////////////////
103 118

  
104
  private void getEdgeQuats(int[] output, int[] perm)
119
  private int[] getCornerPerm(int[] quats)
105 120
    {
121
    int[] output = new int[8];
106 122

  
123
    for(int i=0; i<8; i++)
124
      {
125
      int quat = quats[i];
126

  
127
      for(int j=0; j<8; j++)
128
        {
129
        if( CORNER_MAP[i][j]==quat )
130
          {
131
          output[i]=j;
132
          break;
133
          }
134
        }
135
      }
136

  
137
    return output;
107 138
    }
108 139

  
109 140
///////////////////////////////////////////////////////////////////////////////////////////////////
110 141

  
111
  private int[] getCornerPerm(int[] quats)
142
  private void getEdgeQuats(int[] output, int[] perm)
112 143
    {
113
    return null;
144
    switch(perm[0])
145
      {
146
      case 0: output[8] = 0; break;
147
      case 2: output[8] = 5; break;
148
      case 3: output[8] = 3; break;
149
      default: android.util.Log.e("D", "getEdgeQuats ERROR1");
150
      }
151

  
152
    output[9] = 0;
153

  
154
    switch(perm[2])
155
      {
156
      case 0: output[10] = 5; break;
157
      case 2: output[10] = 0; break;
158
      case 3: output[10] = 1; break;
159
      default: android.util.Log.e("D", "getEdgeQuats ERROR2");
160
      }
161

  
162
    switch(perm[3])
163
      {
164
      case 0: output[11] = 3; break;
165
      case 2: output[11] = 1; break;
166
      case 3: output[11] = 0; break;
167
      default: android.util.Log.e("D", "getEdgeQuats ERROR3");
168
      }
114 169
    }
115 170

  
116 171
///////////////////////////////////////////////////////////////////////////////////////////////////
117 172

  
118 173
  private int[] getEdgePerm(int[] quats)
119 174
    {
120
    return null;
175
    int[] output = new int[4];
176

  
177
    switch(quats[8])
178
      {
179
      case 0: output[0] = 0; break;
180
      case 5: output[0] = 2; break;
181
      case 3: output[0] = 3; break;
182
      default: android.util.Log.e("D", "getEdgePerm ERROR1");
183
      }
184

  
185
    output[1] = 1;
186

  
187
    switch(quats[10])
188
      {
189
      case 0: output[2] = 2; break;
190
      case 1: output[2] = 3; break;
191
      case 5: output[2] = 0; break;
192
      default: android.util.Log.e("D", "getEdgePerm ERROR2");
193
      }
194

  
195
    switch(quats[11])
196
      {
197
      case 0: output[3] = 3; break;
198
      case 1: output[3] = 2; break;
199
      case 3: output[3] = 0; break;
200
      default: android.util.Log.e("D", "getEdgePerm ERROR3");
201
      }
202

  
203
    return output;
121 204
    }
122 205

  
123 206
///////////////////////////////////////////////////////////////////////////////////////////////////

Also available in: Unified diff