cubing 0.29.1 → 0.30.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -6
- package/dist/esm/.DS_Store +0 -0
- package/dist/esm/alg/index.js +1 -2
- package/dist/esm/bluetooth/index.js +36 -32
- package/dist/esm/bluetooth/index.js.map +2 -2
- package/dist/esm/{chunk-XRZBPKES.js → chunk-35OK6TQ4.js} +328 -66
- package/dist/esm/chunk-35OK6TQ4.js.map +7 -0
- package/dist/esm/{chunk-WYKXX2XY.js → chunk-4QZRHN6S.js} +10 -8
- package/dist/esm/{chunk-WYKXX2XY.js.map → chunk-4QZRHN6S.js.map} +2 -2
- package/dist/esm/{chunk-2JDBIQSV.js → chunk-5OQ34D3X.js} +7 -7
- package/dist/esm/{chunk-2JDBIQSV.js.map → chunk-5OQ34D3X.js.map} +2 -2
- package/dist/esm/{chunk-U2ONHTIX.js → chunk-6FB2XWAK.js} +33 -31
- package/dist/esm/chunk-6FB2XWAK.js.map +7 -0
- package/dist/esm/{chunk-ZNAYJGVL.js → chunk-C6KMV2PL.js} +2 -2
- package/dist/esm/{chunk-ZNAYJGVL.js.map → chunk-C6KMV2PL.js.map} +0 -0
- package/dist/esm/{chunk-XU5ILFX5.js → chunk-GQBRF4EM.js} +6 -4
- package/dist/esm/{chunk-XU5ILFX5.js.map → chunk-GQBRF4EM.js.map} +2 -2
- package/dist/esm/{chunk-WXCNEGW3.js → chunk-HR5D6SD4.js} +2 -2
- package/dist/esm/{chunk-WXCNEGW3.js.map → chunk-HR5D6SD4.js.map} +2 -2
- package/dist/esm/{chunk-XT3R2ENM.js → chunk-KOAJIBEX.js} +47 -38
- package/dist/esm/chunk-KOAJIBEX.js.map +7 -0
- package/dist/esm/{chunk-OX6O2ZO5.js → chunk-QHWK5RXN.js} +1 -1
- package/dist/esm/chunk-QHWK5RXN.js.map +7 -0
- package/dist/esm/{chunk-GW4FGG42.js → chunk-RI2DAEY6.js} +2 -2
- package/dist/esm/{chunk-GW4FGG42.js.map → chunk-RI2DAEY6.js.map} +0 -0
- package/dist/esm/{chunk-AHEXXC6V.js → chunk-VIUWS2PX.js} +4 -4
- package/dist/esm/chunk-VIUWS2PX.js.map +7 -0
- package/dist/esm/{chunk-2IZUSAXQ.js → chunk-WEYPAZEE.js} +1 -1
- package/dist/esm/{chunk-2IZUSAXQ.js.map → chunk-WEYPAZEE.js.map} +1 -1
- package/dist/esm/{chunk-NI7U4XAZ.js → chunk-ZQT3QSWD.js} +226 -113
- package/dist/esm/chunk-ZQT3QSWD.js.map +7 -0
- package/dist/esm/kpuzzle/index.js +2 -3
- package/dist/esm/notation/index.js +2 -3
- package/dist/esm/protocol/index.js +4 -5
- package/dist/esm/puzzle-geometry/index.js +110 -85
- package/dist/esm/puzzle-geometry/index.js.map +2 -2
- package/dist/esm/puzzles/index.js +10 -7
- package/dist/esm/{puzzles-dynamic-3x3x3-KIG5A6QR.js → puzzles-dynamic-3x3x3-ZKMODX2P.js} +1 -3
- package/dist/esm/{puzzles-dynamic-3x3x3-KIG5A6QR.js.map → puzzles-dynamic-3x3x3-ZKMODX2P.js.map} +1 -1
- package/dist/esm/{puzzles-dynamic-4x4x4-PEDAPUZK.js → puzzles-dynamic-4x4x4-DT42HVIY.js} +1 -3
- package/dist/esm/{puzzles-dynamic-4x4x4-PEDAPUZK.js.map → puzzles-dynamic-4x4x4-DT42HVIY.js.map} +1 -1
- package/dist/esm/{puzzles-dynamic-side-events-5C7LMBWX.js → puzzles-dynamic-side-events-HMUBMHA5.js} +2 -4
- package/dist/esm/{puzzles-dynamic-side-events-5C7LMBWX.js.map → puzzles-dynamic-side-events-HMUBMHA5.js.map} +2 -2
- package/dist/esm/{puzzles-dynamic-unofficial-WWJ4NJMX.js → puzzles-dynamic-unofficial-QXSDLTK5.js} +1 -3
- package/dist/esm/{puzzles-dynamic-unofficial-WWJ4NJMX.js.map → puzzles-dynamic-unofficial-QXSDLTK5.js.map} +1 -1
- package/dist/esm/scramble/index.js +3 -4
- package/dist/esm/search/index.js +8 -9
- package/dist/esm/{search-dynamic-sgs-side-events-4H3X5HLH.js → search-dynamic-sgs-side-events-XNTCWRI4.js} +6 -7
- package/dist/esm/search-dynamic-sgs-side-events-XNTCWRI4.js.map +7 -0
- package/dist/esm/{search-dynamic-sgs-unofficial-7IRW4LVD.js → search-dynamic-sgs-unofficial-5KMZ747E.js} +122 -68
- package/dist/esm/search-dynamic-sgs-unofficial-5KMZ747E.js.map +7 -0
- package/dist/esm/{search-dynamic-solve-3x3x3-7XZTYQMO.js → search-dynamic-solve-3x3x3-TSXPWENP.js} +649 -407
- package/dist/esm/search-dynamic-solve-3x3x3-TSXPWENP.js.map +7 -0
- package/dist/esm/{search-dynamic-solve-4x4x4-7JTJCCSY.js → search-dynamic-solve-4x4x4-FKQ2JWK2.js} +399 -151
- package/dist/esm/search-dynamic-solve-4x4x4-FKQ2JWK2.js.map +7 -0
- package/dist/esm/{search-dynamic-solve-fto-4LI23P6K.js → search-dynamic-solve-fto-GPLW7S5F.js} +74 -35
- package/dist/esm/search-dynamic-solve-fto-GPLW7S5F.js.map +7 -0
- package/dist/esm/{search-dynamic-solve-kilominx-3HEVQ4MC.js → search-dynamic-solve-kilominx-HB2QFUGF.js} +136 -72
- package/dist/esm/search-dynamic-solve-kilominx-HB2QFUGF.js.map +7 -0
- package/dist/esm/{search-dynamic-solve-master_tetraminx-UB32C7MM.js → search-dynamic-solve-master_tetraminx-LR3LJI7O.js} +84 -42
- package/dist/esm/search-dynamic-solve-master_tetraminx-LR3LJI7O.js.map +7 -0
- package/dist/esm/{search-dynamic-solve-sq1-HA72TYF2.js → search-dynamic-solve-sq1-W33UXTDZ.js} +129 -55
- package/dist/esm/search-dynamic-solve-sq1-W33UXTDZ.js.map +7 -0
- package/dist/esm/search-worker-inside-generated-string-5HKZNHKK.js +3884 -0
- package/dist/esm/search-worker-inside-generated-string-5HKZNHKK.js.map +7 -0
- package/dist/esm/{search-worker-js-entry-T6YIT7YD.js → search-worker-js-entry-PDXEE46R.js} +44 -36
- package/dist/esm/search-worker-js-entry-PDXEE46R.js.map +7 -0
- package/dist/esm/{search-worker-ts-entry-OUEC4L5I.js → search-worker-ts-entry-UV2RY2EY.js} +3 -4
- package/dist/esm/{search-worker-ts-entry-OUEC4L5I.js.map → search-worker-ts-entry-UV2RY2EY.js.map} +1 -1
- package/dist/esm/stream/index.js +1 -2
- package/dist/esm/stream/index.js.map +2 -2
- package/dist/esm/twisty/index.js +368 -300
- package/dist/esm/twisty/index.js.map +3 -3
- package/dist/esm/{twisty-dynamic-3d-AZUSXQ5S.js → twisty-dynamic-3d-GPF6TW32.js} +57 -60
- package/dist/esm/twisty-dynamic-3d-GPF6TW32.js.map +7 -0
- package/dist/types/{Alg-137fb0d5.d.ts → Alg-1c8c3757.d.ts} +25 -26
- package/dist/types/{KState-a73111d7.d.ts → KState-7c9e40f4.d.ts} +1 -1
- package/dist/types/{TwizzleLink-bef52ecd.d.ts → TwizzleLink-3f8a01d2.d.ts} +19 -18
- package/dist/types/alg/index.d.ts +30 -8
- package/dist/types/bluetooth/index.d.ts +4 -4
- package/dist/types/{bluetooth-puzzle-8a678993.d.ts → bluetooth-puzzle-a64e9756.d.ts} +2 -2
- package/dist/types/kpuzzle/index.d.ts +2 -2
- package/dist/types/notation/index.d.ts +1 -1
- package/dist/types/{outside-e55f28a0.d.ts → outside-b62aa614.d.ts} +2 -2
- package/dist/types/{parseAlg-a28f7568.d.ts → parseAlg-d5fbee87.d.ts} +1 -1
- package/dist/types/protocol/index.d.ts +2 -2
- package/dist/types/puzzle-geometry/index.d.ts +3 -3
- package/dist/types/puzzles/index.d.ts +8 -6
- package/dist/types/scramble/index.d.ts +3 -3
- package/dist/types/search/index.d.ts +3 -3
- package/dist/types/stream/index.d.ts +3 -3
- package/dist/types/twisty/index.d.ts +5 -5
- package/package.json +51 -147
- package/dist/esm/chunk-AHEXXC6V.js.map +0 -7
- package/dist/esm/chunk-NI7U4XAZ.js.map +0 -7
- package/dist/esm/chunk-OX6O2ZO5.js.map +0 -7
- package/dist/esm/chunk-SBZRVSPK.js +0 -30
- package/dist/esm/chunk-SBZRVSPK.js.map +0 -7
- package/dist/esm/chunk-U2ONHTIX.js.map +0 -7
- package/dist/esm/chunk-XRZBPKES.js.map +0 -7
- package/dist/esm/chunk-XT3R2ENM.js.map +0 -7
- package/dist/esm/search-dynamic-sgs-side-events-4H3X5HLH.js.map +0 -7
- package/dist/esm/search-dynamic-sgs-unofficial-7IRW4LVD.js.map +0 -7
- package/dist/esm/search-dynamic-solve-3x3x3-7XZTYQMO.js.map +0 -7
- package/dist/esm/search-dynamic-solve-4x4x4-7JTJCCSY.js.map +0 -7
- package/dist/esm/search-dynamic-solve-fto-4LI23P6K.js.map +0 -7
- package/dist/esm/search-dynamic-solve-kilominx-3HEVQ4MC.js.map +0 -7
- package/dist/esm/search-dynamic-solve-master_tetraminx-UB32C7MM.js.map +0 -7
- package/dist/esm/search-dynamic-solve-sq1-HA72TYF2.js.map +0 -7
- package/dist/esm/search-worker-inside-generated-string-ZEY77HTF.js +0 -3886
- package/dist/esm/search-worker-inside-generated-string-ZEY77HTF.js.map +0 -7
- package/dist/esm/search-worker-js-entry-T6YIT7YD.js.map +0 -7
- package/dist/esm/twisty-dynamic-3d-AZUSXQ5S.js.map +0 -7
package/dist/esm/{search-dynamic-solve-3x3x3-7XZTYQMO.js → search-dynamic-solve-3x3x3-TSXPWENP.js}
RENAMED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import "./chunk-SBZRVSPK.js";
|
|
2
|
-
|
|
3
1
|
// src/cubing/vendor/min2phase/3x3x3-min2phase.js
|
|
4
2
|
var $intern_3 = { 3: 1 };
|
|
5
3
|
var $intern_9 = 4194303;
|
|
@@ -121,7 +119,7 @@ _.createClassLiteralForArray = function createClassLiteralForArray(dimensions) {
|
|
|
121
119
|
return clazz;
|
|
122
120
|
};
|
|
123
121
|
_.isPrimitive = function isPrimitive() {
|
|
124
|
-
return (this.modifiers & 1)
|
|
122
|
+
return (this.modifiers & 1) !== 0;
|
|
125
123
|
};
|
|
126
124
|
function getClassLiteralForArray(clazz, dimensions) {
|
|
127
125
|
return getClassLiteralForArray_0(clazz, dimensions);
|
|
@@ -150,9 +148,13 @@ function initDims(leafClassLiteral, castableTypeMapExprs, elementTypeIds, leafEl
|
|
|
150
148
|
);
|
|
151
149
|
}
|
|
152
150
|
function initDims_0(leafClassLiteral, castableTypeMapExprs, elementTypeIds, leafElementTypeCategory, dimExprs, index_0, count) {
|
|
153
|
-
var elementTypeCategory
|
|
151
|
+
var elementTypeCategory;
|
|
152
|
+
var i;
|
|
153
|
+
var isLastDim;
|
|
154
|
+
var length_0;
|
|
155
|
+
var result;
|
|
154
156
|
length_0 = dimExprs[index_0];
|
|
155
|
-
isLastDim = index_0
|
|
157
|
+
isLastDim = index_0 === count - 1;
|
|
156
158
|
elementTypeCategory = isLastDim ? leafElementTypeCategory : 0;
|
|
157
159
|
result = initializeArrayElementsWithDefaults(elementTypeCategory, length_0);
|
|
158
160
|
initValues(
|
|
@@ -190,15 +192,18 @@ function initializeArrayElementsWithDefaults(elementTypeCategory, length_0) {
|
|
|
190
192
|
var array = new Array(length_0);
|
|
191
193
|
var initValue;
|
|
192
194
|
switch (elementTypeCategory) {
|
|
193
|
-
case 6:
|
|
195
|
+
case 6: {
|
|
194
196
|
initValue = { l: 0, m: 0, h: 0 };
|
|
195
197
|
break;
|
|
196
|
-
|
|
198
|
+
}
|
|
199
|
+
case 7: {
|
|
197
200
|
initValue = 0;
|
|
198
201
|
break;
|
|
199
|
-
|
|
202
|
+
}
|
|
203
|
+
case 8: {
|
|
200
204
|
initValue = false;
|
|
201
205
|
break;
|
|
206
|
+
}
|
|
202
207
|
default:
|
|
203
208
|
return array;
|
|
204
209
|
}
|
|
@@ -208,7 +213,9 @@ function initializeArrayElementsWithDefaults(elementTypeCategory, length_0) {
|
|
|
208
213
|
return array;
|
|
209
214
|
}
|
|
210
215
|
function create(value_0) {
|
|
211
|
-
var a0
|
|
216
|
+
var a0;
|
|
217
|
+
var a1;
|
|
218
|
+
var a2;
|
|
212
219
|
a0 = value_0 & $intern_9;
|
|
213
220
|
a1 = value_0 >> 22 & $intern_9;
|
|
214
221
|
a2 = value_0 < 0 ? $intern_10 : 0;
|
|
@@ -218,7 +225,9 @@ function create0(l, m, h) {
|
|
|
218
225
|
return { l, m, h };
|
|
219
226
|
}
|
|
220
227
|
function add_1(a, b) {
|
|
221
|
-
var sum0
|
|
228
|
+
var sum0;
|
|
229
|
+
var sum1;
|
|
230
|
+
var sum2;
|
|
222
231
|
sum0 = a.l + b.l;
|
|
223
232
|
sum1 = a.m + b.m + (sum0 >> 22);
|
|
224
233
|
sum2 = a.h + b.h + (sum1 >> 22);
|
|
@@ -228,7 +237,8 @@ function and(a, b) {
|
|
|
228
237
|
return { l: a.l & b.l, m: a.m & b.m, h: a.h & b.h };
|
|
229
238
|
}
|
|
230
239
|
function fromInt(value_0) {
|
|
231
|
-
var rebase
|
|
240
|
+
var rebase;
|
|
241
|
+
var result;
|
|
232
242
|
if (value_0 > -129 && value_0 < 128) {
|
|
233
243
|
rebase = value_0 + 128;
|
|
234
244
|
boxedValues == null && (boxedValues = initDim(
|
|
@@ -246,19 +256,22 @@ function fromInt(value_0) {
|
|
|
246
256
|
return create(value_0);
|
|
247
257
|
}
|
|
248
258
|
function gte(a, b) {
|
|
249
|
-
var signa
|
|
259
|
+
var signa;
|
|
260
|
+
var signb;
|
|
250
261
|
signa = a.h >> 19;
|
|
251
262
|
signb = b.h >> 19;
|
|
252
|
-
return signa
|
|
263
|
+
return signa === 0 ? signb !== 0 || a.h > b.h || a.h === b.h && a.m > b.m || a.h === b.h && a.m === b.m && a.l >= b.l : !(signb === 0 || a.h < b.h || a.h === b.h && a.m < b.m || a.h === b.h && a.m === b.m && a.l < b.l);
|
|
253
264
|
}
|
|
254
265
|
function neq(a, b) {
|
|
255
|
-
return a.l
|
|
266
|
+
return a.l !== b.l || a.m !== b.m || a.h !== b.h;
|
|
256
267
|
}
|
|
257
268
|
function or(a, b) {
|
|
258
269
|
return { l: a.l | b.l, m: a.m | b.m, h: a.h | b.h };
|
|
259
270
|
}
|
|
260
271
|
function shl(a, n) {
|
|
261
|
-
var res0
|
|
272
|
+
var res0;
|
|
273
|
+
var res1;
|
|
274
|
+
var res2;
|
|
262
275
|
n &= 63;
|
|
263
276
|
if (n < 22) {
|
|
264
277
|
res0 = a.l << n;
|
|
@@ -276,10 +289,14 @@ function shl(a, n) {
|
|
|
276
289
|
return { l: res0 & $intern_9, m: res1 & $intern_9, h: res2 & $intern_10 };
|
|
277
290
|
}
|
|
278
291
|
function shr(a, n) {
|
|
279
|
-
var a2
|
|
292
|
+
var a2;
|
|
293
|
+
var negative;
|
|
294
|
+
var res0;
|
|
295
|
+
var res1;
|
|
296
|
+
var res2;
|
|
280
297
|
n &= 63;
|
|
281
298
|
a2 = a.h;
|
|
282
|
-
negative = (a2 & $intern_11)
|
|
299
|
+
negative = (a2 & $intern_11) !== 0;
|
|
283
300
|
negative && (a2 |= -1048576);
|
|
284
301
|
if (n < 22) {
|
|
285
302
|
res2 = a2 >> n;
|
|
@@ -297,7 +314,9 @@ function shr(a, n) {
|
|
|
297
314
|
return { l: res0 & $intern_9, m: res1 & $intern_9, h: res2 & $intern_10 };
|
|
298
315
|
}
|
|
299
316
|
function sub_0(a, b) {
|
|
300
|
-
var sum0
|
|
317
|
+
var sum0;
|
|
318
|
+
var sum1;
|
|
319
|
+
var sum2;
|
|
301
320
|
sum0 = a.l - b.l;
|
|
302
321
|
sum1 = a.m - b.m + (sum0 >> 22);
|
|
303
322
|
sum2 = a.h - b.h + (sum1 >> 22);
|
|
@@ -351,11 +370,11 @@ function equals_7(array1, array2) {
|
|
|
351
370
|
if (array1 === array2) {
|
|
352
371
|
return true;
|
|
353
372
|
}
|
|
354
|
-
if (array1.length
|
|
373
|
+
if (array1.length !== array2.length) {
|
|
355
374
|
return false;
|
|
356
375
|
}
|
|
357
376
|
for (i = 0; i < array1.length; ++i) {
|
|
358
|
-
if (array1[i]
|
|
377
|
+
if (array1[i] !== array2[i]) {
|
|
359
378
|
return false;
|
|
360
379
|
}
|
|
361
380
|
}
|
|
@@ -535,10 +554,10 @@ function getPruning(table, index_0) {
|
|
|
535
554
|
}
|
|
536
555
|
function init_0(fullInit) {
|
|
537
556
|
$clinit_CoordCube();
|
|
538
|
-
if (initLevel
|
|
557
|
+
if (initLevel === 2 || initLevel === 1 && !fullInit) {
|
|
539
558
|
return;
|
|
540
559
|
}
|
|
541
|
-
if (initLevel
|
|
560
|
+
if (initLevel === 0) {
|
|
542
561
|
initPermSym2Raw();
|
|
543
562
|
initCPermMove();
|
|
544
563
|
initEPermMove();
|
|
@@ -611,7 +630,10 @@ function init_0(fullInit) {
|
|
|
611
630
|
initLevel = fullInit ? 2 : 1;
|
|
612
631
|
}
|
|
613
632
|
function initCPermMove() {
|
|
614
|
-
var c
|
|
633
|
+
var c;
|
|
634
|
+
var d;
|
|
635
|
+
var i;
|
|
636
|
+
var j;
|
|
615
637
|
c = new CubieCube();
|
|
616
638
|
d = new CubieCube();
|
|
617
639
|
for (i = 0; i < 2768; i++) {
|
|
@@ -623,7 +645,11 @@ function initCPermMove() {
|
|
|
623
645
|
}
|
|
624
646
|
}
|
|
625
647
|
function initCombPMoveConj() {
|
|
626
|
-
var c
|
|
648
|
+
var c;
|
|
649
|
+
var d;
|
|
650
|
+
var i;
|
|
651
|
+
var j;
|
|
652
|
+
var j0;
|
|
627
653
|
c = new CubieCube();
|
|
628
654
|
d = new CubieCube();
|
|
629
655
|
CCombPMove = initDims(
|
|
@@ -651,7 +677,10 @@ function initCombPMoveConj() {
|
|
|
651
677
|
}
|
|
652
678
|
}
|
|
653
679
|
function initEPermMove() {
|
|
654
|
-
var c
|
|
680
|
+
var c;
|
|
681
|
+
var d;
|
|
682
|
+
var i;
|
|
683
|
+
var j;
|
|
655
684
|
c = new CubieCube();
|
|
656
685
|
d = new CubieCube();
|
|
657
686
|
for (i = 0; i < 2768; i++) {
|
|
@@ -663,7 +692,10 @@ function initEPermMove() {
|
|
|
663
692
|
}
|
|
664
693
|
}
|
|
665
694
|
function initFlipMove() {
|
|
666
|
-
var c
|
|
695
|
+
var c;
|
|
696
|
+
var d;
|
|
697
|
+
var i;
|
|
698
|
+
var j;
|
|
667
699
|
c = new CubieCube();
|
|
668
700
|
d = new CubieCube();
|
|
669
701
|
for (i = 0; i < 336; i++) {
|
|
@@ -675,7 +707,11 @@ function initFlipMove() {
|
|
|
675
707
|
}
|
|
676
708
|
}
|
|
677
709
|
function initMPermMoveConj() {
|
|
678
|
-
var c
|
|
710
|
+
var c;
|
|
711
|
+
var d;
|
|
712
|
+
var i;
|
|
713
|
+
var j;
|
|
714
|
+
var j0;
|
|
679
715
|
c = new CubieCube();
|
|
680
716
|
d = new CubieCube();
|
|
681
717
|
for (i = 0; i < 24; i++) {
|
|
@@ -695,22 +731,57 @@ function initMPermMoveConj() {
|
|
|
695
731
|
}
|
|
696
732
|
}
|
|
697
733
|
function initRawSymPrun(PrunTable, RawMove, RawConj, SymMove, SymState, PrunFlag, fullInit) {
|
|
698
|
-
var INV_DEPTH
|
|
734
|
+
var INV_DEPTH;
|
|
735
|
+
var ISTFP;
|
|
736
|
+
var IS_PHASE2;
|
|
737
|
+
var MAX_DEPTH;
|
|
738
|
+
var MIN_DEPTH;
|
|
739
|
+
var NEXT_AXIS_MAGIC;
|
|
740
|
+
var N_MOVES;
|
|
741
|
+
var N_RAW;
|
|
742
|
+
var N_SIZE;
|
|
743
|
+
var SEARCH_DEPTH;
|
|
744
|
+
var SYM_E2C_MAGIC;
|
|
745
|
+
var SYM_MASK;
|
|
746
|
+
var SYM_SHIFT;
|
|
747
|
+
var check;
|
|
748
|
+
var depth;
|
|
749
|
+
var flip;
|
|
750
|
+
var fsym;
|
|
751
|
+
var i;
|
|
752
|
+
var i0;
|
|
753
|
+
var idx;
|
|
754
|
+
var idxx;
|
|
755
|
+
var inv;
|
|
756
|
+
var j;
|
|
757
|
+
var m;
|
|
758
|
+
var mask;
|
|
759
|
+
var prun;
|
|
760
|
+
var raw;
|
|
761
|
+
var rawx;
|
|
762
|
+
var selArrMask;
|
|
763
|
+
var select;
|
|
764
|
+
var sym;
|
|
765
|
+
var symState;
|
|
766
|
+
var symx;
|
|
767
|
+
var val;
|
|
768
|
+
var val0;
|
|
769
|
+
var xorVal;
|
|
699
770
|
SYM_SHIFT = PrunFlag & 15;
|
|
700
|
-
SYM_E2C_MAGIC = (PrunFlag >> 4 & 1)
|
|
701
|
-
IS_PHASE2 = (PrunFlag >> 5 & 1)
|
|
771
|
+
SYM_E2C_MAGIC = (PrunFlag >> 4 & 1) === 1 ? $intern_28 : 0;
|
|
772
|
+
IS_PHASE2 = (PrunFlag >> 5 & 1) === 1;
|
|
702
773
|
INV_DEPTH = PrunFlag >> 8 & 15;
|
|
703
774
|
MAX_DEPTH = PrunFlag >> 12 & 15;
|
|
704
775
|
MIN_DEPTH = PrunFlag >> 16 & 15;
|
|
705
776
|
SEARCH_DEPTH = fullInit ? MAX_DEPTH : MIN_DEPTH;
|
|
706
777
|
SYM_MASK = (1 << SYM_SHIFT) - 1;
|
|
707
|
-
ISTFP = RawMove
|
|
778
|
+
ISTFP = RawMove === null;
|
|
708
779
|
N_RAW = ISTFP ? 2048 : RawMove.length;
|
|
709
780
|
N_SIZE = N_RAW * SymMove.length;
|
|
710
781
|
N_MOVES = IS_PHASE2 ? 10 : 18;
|
|
711
|
-
NEXT_AXIS_MAGIC = N_MOVES
|
|
782
|
+
NEXT_AXIS_MAGIC = N_MOVES === 10 ? 66 : 599186;
|
|
712
783
|
depth = (PrunTable[N_SIZE >> 3] >> (N_SIZE << 2) & 15) - 1;
|
|
713
|
-
if (depth
|
|
784
|
+
if (depth === -1) {
|
|
714
785
|
for (i = 0; i < ~~(N_SIZE / 8) + 1; i++) {
|
|
715
786
|
PrunTable[i] = $intern_29;
|
|
716
787
|
}
|
|
@@ -732,14 +803,14 @@ function initRawSymPrun(PrunTable, RawMove, RawConj, SymMove, SymState, PrunFlag
|
|
|
732
803
|
xorVal = depth ^ depth + 1;
|
|
733
804
|
val = 0;
|
|
734
805
|
for (i = 0; i < N_SIZE; ++i, val >>= 4) {
|
|
735
|
-
if ((i & 7)
|
|
806
|
+
if ((i & 7) === 0) {
|
|
736
807
|
val = PrunTable[i >> 3];
|
|
737
|
-
if (((val ^ selArrMask) - $intern_29 & ~(val ^ selArrMask) & -2004318072)
|
|
808
|
+
if (((val ^ selArrMask) - $intern_29 & ~(val ^ selArrMask) & -2004318072) === 0) {
|
|
738
809
|
i += 7;
|
|
739
810
|
continue;
|
|
740
811
|
}
|
|
741
812
|
}
|
|
742
|
-
if ((val & 15)
|
|
813
|
+
if ((val & 15) !== select) {
|
|
743
814
|
continue;
|
|
744
815
|
}
|
|
745
816
|
raw = i % N_RAW;
|
|
@@ -757,7 +828,7 @@ function initRawSymPrun(PrunTable, RawMove, RawConj, SymMove, SymState, PrunFlag
|
|
|
757
828
|
symx >>= SYM_SHIFT;
|
|
758
829
|
idx = symx * N_RAW + rawx;
|
|
759
830
|
prun = PrunTable[idx >> 3] >> (idx << 2) & 15;
|
|
760
|
-
if (prun
|
|
831
|
+
if (prun !== check) {
|
|
761
832
|
prun < depth - 1 && (m += NEXT_AXIS_MAGIC >> m & 3);
|
|
762
833
|
continue;
|
|
763
834
|
}
|
|
@@ -766,13 +837,13 @@ function initRawSymPrun(PrunTable, RawMove, RawConj, SymMove, SymState, PrunFlag
|
|
|
766
837
|
break;
|
|
767
838
|
}
|
|
768
839
|
PrunTable[idx >> 3] ^= xorVal << (idx << 2);
|
|
769
|
-
for (j = 1, symState = SymState[symx]; (symState >>= 1)
|
|
770
|
-
if ((symState & 1)
|
|
840
|
+
for (j = 1, symState = SymState[symx]; (symState >>= 1) !== 0; j++) {
|
|
841
|
+
if ((symState & 1) !== 1) {
|
|
771
842
|
continue;
|
|
772
843
|
}
|
|
773
844
|
idxx = symx * N_RAW;
|
|
774
845
|
ISTFP ? idxx += ($clinit_CubieCube(), FlipS2RF)[FlipR2S[rawx] ^ j] : idxx += RawConj[rawx][j ^ SYM_E2C_MAGIC >> (j << 1) & 3];
|
|
775
|
-
if ((PrunTable[idxx >> 3] >> (idxx << 2) & 15)
|
|
846
|
+
if ((PrunTable[idxx >> 3] >> (idxx << 2) & 15) === check) {
|
|
776
847
|
PrunTable[idxx >> 3] ^= xorVal << (idxx << 2);
|
|
777
848
|
}
|
|
778
849
|
}
|
|
@@ -781,7 +852,10 @@ function initRawSymPrun(PrunTable, RawMove, RawConj, SymMove, SymState, PrunFlag
|
|
|
781
852
|
}
|
|
782
853
|
}
|
|
783
854
|
function initTwistMove() {
|
|
784
|
-
var c
|
|
855
|
+
var c;
|
|
856
|
+
var d;
|
|
857
|
+
var i;
|
|
858
|
+
var j;
|
|
785
859
|
c = new CubieCube();
|
|
786
860
|
d = new CubieCube();
|
|
787
861
|
for (i = 0; i < 324; i++) {
|
|
@@ -793,7 +867,14 @@ function initTwistMove() {
|
|
|
793
867
|
}
|
|
794
868
|
}
|
|
795
869
|
function initUDSliceMoveConj() {
|
|
796
|
-
var c
|
|
870
|
+
var c;
|
|
871
|
+
var d;
|
|
872
|
+
var i;
|
|
873
|
+
var i0;
|
|
874
|
+
var j;
|
|
875
|
+
var j0;
|
|
876
|
+
var k;
|
|
877
|
+
var udslice;
|
|
797
878
|
c = new CubieCube();
|
|
798
879
|
d = new CubieCube();
|
|
799
880
|
for (i0 = 0; i0 < 495; i0++) {
|
|
@@ -916,74 +997,143 @@ function $clinit_CubieCube() {
|
|
|
916
997
|
FlipS2RF = initDim(C_classLit, $intern_26, 0, 2688, 7, 1);
|
|
917
998
|
urf1 = new CubieCube_0(2531, 1373, 67026819, 1367);
|
|
918
999
|
urf2 = new CubieCube_0(2089, 1906, 322752913, 2040);
|
|
919
|
-
urfMove = initValues(
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
0,
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
1000
|
+
urfMove = initValues(getClassLiteralForArray(
|
|
1001
|
+
B_classLit,
|
|
1002
|
+
2
|
|
1003
|
+
), $intern_3, 10, 0, [
|
|
1004
|
+
initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [
|
|
1005
|
+
0,
|
|
1006
|
+
1,
|
|
1007
|
+
2,
|
|
1008
|
+
3,
|
|
1009
|
+
4,
|
|
1010
|
+
5,
|
|
1011
|
+
6,
|
|
1012
|
+
7,
|
|
1013
|
+
8,
|
|
1014
|
+
9,
|
|
1015
|
+
10,
|
|
1016
|
+
11,
|
|
1017
|
+
12,
|
|
1018
|
+
13,
|
|
1019
|
+
14,
|
|
1020
|
+
15,
|
|
1021
|
+
16,
|
|
1022
|
+
17
|
|
1023
|
+
]),
|
|
1024
|
+
initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [
|
|
1025
|
+
6,
|
|
1026
|
+
7,
|
|
1027
|
+
8,
|
|
1028
|
+
0,
|
|
1029
|
+
1,
|
|
1030
|
+
2,
|
|
1031
|
+
3,
|
|
1032
|
+
4,
|
|
1033
|
+
5,
|
|
1034
|
+
15,
|
|
1035
|
+
16,
|
|
1036
|
+
17,
|
|
1037
|
+
9,
|
|
1038
|
+
10,
|
|
1039
|
+
11,
|
|
1040
|
+
12,
|
|
1041
|
+
13,
|
|
1042
|
+
14
|
|
1043
|
+
]),
|
|
1044
|
+
initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [
|
|
1045
|
+
3,
|
|
1046
|
+
4,
|
|
1047
|
+
5,
|
|
1048
|
+
6,
|
|
1049
|
+
7,
|
|
1050
|
+
8,
|
|
1051
|
+
0,
|
|
1052
|
+
1,
|
|
1053
|
+
2,
|
|
1054
|
+
12,
|
|
1055
|
+
13,
|
|
1056
|
+
14,
|
|
1057
|
+
15,
|
|
1058
|
+
16,
|
|
1059
|
+
17,
|
|
1060
|
+
9,
|
|
1061
|
+
10,
|
|
1062
|
+
11
|
|
1063
|
+
]),
|
|
1064
|
+
initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [
|
|
1065
|
+
2,
|
|
1066
|
+
1,
|
|
1067
|
+
0,
|
|
1068
|
+
5,
|
|
1069
|
+
4,
|
|
1070
|
+
3,
|
|
1071
|
+
8,
|
|
1072
|
+
7,
|
|
1073
|
+
6,
|
|
1074
|
+
11,
|
|
1075
|
+
10,
|
|
1076
|
+
9,
|
|
1077
|
+
14,
|
|
1078
|
+
13,
|
|
1079
|
+
12,
|
|
1080
|
+
17,
|
|
1081
|
+
16,
|
|
1082
|
+
15
|
|
1083
|
+
]),
|
|
1084
|
+
initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [
|
|
1085
|
+
8,
|
|
1086
|
+
7,
|
|
1087
|
+
6,
|
|
1088
|
+
2,
|
|
1089
|
+
1,
|
|
1090
|
+
0,
|
|
1091
|
+
5,
|
|
1092
|
+
4,
|
|
1093
|
+
3,
|
|
1094
|
+
17,
|
|
1095
|
+
16,
|
|
1096
|
+
15,
|
|
1097
|
+
11,
|
|
1098
|
+
10,
|
|
1099
|
+
9,
|
|
1100
|
+
14,
|
|
1101
|
+
13,
|
|
1102
|
+
12
|
|
1103
|
+
]),
|
|
1104
|
+
initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [
|
|
1105
|
+
5,
|
|
1106
|
+
4,
|
|
1107
|
+
3,
|
|
1108
|
+
8,
|
|
1109
|
+
7,
|
|
1110
|
+
6,
|
|
1111
|
+
2,
|
|
1112
|
+
1,
|
|
1113
|
+
0,
|
|
1114
|
+
14,
|
|
1115
|
+
13,
|
|
1116
|
+
12,
|
|
1117
|
+
17,
|
|
1118
|
+
16,
|
|
1119
|
+
15,
|
|
1120
|
+
11,
|
|
1121
|
+
10,
|
|
1122
|
+
9
|
|
1123
|
+
])
|
|
1124
|
+
]);
|
|
969
1125
|
initMove();
|
|
970
1126
|
initSym();
|
|
971
1127
|
}
|
|
972
1128
|
function $$init(this$static) {
|
|
973
|
-
this$static.ca = initValues(
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
getClassLiteralForArray(B_classLit, 1),
|
|
982
|
-
$intern_30,
|
|
983
|
-
0,
|
|
984
|
-
7,
|
|
985
|
-
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22]
|
|
986
|
-
);
|
|
1129
|
+
this$static.ca = initValues(getClassLiteralForArray(
|
|
1130
|
+
B_classLit,
|
|
1131
|
+
1
|
|
1132
|
+
), $intern_30, 0, 7, [0, 1, 2, 3, 4, 5, 6, 7]);
|
|
1133
|
+
this$static.ea = initValues(getClassLiteralForArray(
|
|
1134
|
+
B_classLit,
|
|
1135
|
+
1
|
|
1136
|
+
), $intern_30, 0, 7, [0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22]);
|
|
987
1137
|
}
|
|
988
1138
|
function $URFConjugate(this$static) {
|
|
989
1139
|
!this$static.temps && (this$static.temps = new CubieCube());
|
|
@@ -993,7 +1143,8 @@ function $URFConjugate(this$static) {
|
|
|
993
1143
|
EdgeMult(this$static.temps, urf1, this$static);
|
|
994
1144
|
}
|
|
995
1145
|
function $copy(this$static, c) {
|
|
996
|
-
var i
|
|
1146
|
+
var i;
|
|
1147
|
+
var i0;
|
|
997
1148
|
for (i0 = 0; i0 < 8; i0++) {
|
|
998
1149
|
this$static.ca[i0] = c.ca[i0];
|
|
999
1150
|
}
|
|
@@ -1008,7 +1159,8 @@ function $getEPermSym(this$static) {
|
|
|
1008
1159
|
return EPermR2S[getNPerm(this$static.ea, 8, true)];
|
|
1009
1160
|
}
|
|
1010
1161
|
function $getFlip(this$static) {
|
|
1011
|
-
var i
|
|
1162
|
+
var i;
|
|
1163
|
+
var idx;
|
|
1012
1164
|
idx = 0;
|
|
1013
1165
|
for (i = 0; i < 11; i++) {
|
|
1014
1166
|
idx = idx << 1 | this$static.ea[i] & 1;
|
|
@@ -1016,7 +1168,8 @@ function $getFlip(this$static) {
|
|
|
1016
1168
|
return idx;
|
|
1017
1169
|
}
|
|
1018
1170
|
function $getTwist(this$static) {
|
|
1019
|
-
var i
|
|
1171
|
+
var i;
|
|
1172
|
+
var idx;
|
|
1020
1173
|
idx = 0;
|
|
1021
1174
|
for (i = 0; i < 7; i++) {
|
|
1022
1175
|
idx += (idx << 1) + (this$static.ca[i] >> 3);
|
|
@@ -1024,7 +1177,8 @@ function $getTwist(this$static) {
|
|
|
1024
1177
|
return idx;
|
|
1025
1178
|
}
|
|
1026
1179
|
function $invCubieCube(this$static) {
|
|
1027
|
-
var corn
|
|
1180
|
+
var corn;
|
|
1181
|
+
var edge;
|
|
1028
1182
|
!this$static.temps && (this$static.temps = new CubieCube());
|
|
1029
1183
|
for (edge = 0; edge < 12; edge++) {
|
|
1030
1184
|
this$static.temps.ea[this$static.ea[edge] >> 1] = (edge << 1 | this$static.ea[edge] & 1) << 24 >> 24;
|
|
@@ -1035,14 +1189,20 @@ function $invCubieCube(this$static) {
|
|
|
1035
1189
|
$copy(this$static, this$static.temps);
|
|
1036
1190
|
}
|
|
1037
1191
|
function $selfSymmetry(this$static) {
|
|
1038
|
-
var c
|
|
1192
|
+
var c;
|
|
1193
|
+
var cperm;
|
|
1194
|
+
var cpermx;
|
|
1195
|
+
var d;
|
|
1196
|
+
var i;
|
|
1197
|
+
var sym;
|
|
1198
|
+
var urfInv;
|
|
1039
1199
|
c = new CubieCube_1(this$static);
|
|
1040
1200
|
d = new CubieCube();
|
|
1041
1201
|
cperm = ESym2CSym(EPermR2S[getNPerm(c.ca, 8, false)]) >> 4;
|
|
1042
1202
|
sym = { l: 0, m: 0, h: 0 };
|
|
1043
1203
|
for (urfInv = 0; urfInv < 6; urfInv++) {
|
|
1044
1204
|
cpermx = ESym2CSym(EPermR2S[getNPerm(c.ca, 8, false)]) >> 4;
|
|
1045
|
-
if (cperm
|
|
1205
|
+
if (cperm === cpermx) {
|
|
1046
1206
|
for (i = 0; i < 16; i++) {
|
|
1047
1207
|
CornConjugate(c, SymMultInv[0][i], d);
|
|
1048
1208
|
if (equals_7(d.ca, this$static.ca)) {
|
|
@@ -1058,7 +1218,7 @@ function $selfSymmetry(this$static) {
|
|
|
1058
1218
|
}
|
|
1059
1219
|
}
|
|
1060
1220
|
$URFConjugate(c);
|
|
1061
|
-
urfInv % 3
|
|
1221
|
+
urfInv % 3 === 2 && $invCubieCube(c);
|
|
1062
1222
|
}
|
|
1063
1223
|
return sym;
|
|
1064
1224
|
}
|
|
@@ -1069,7 +1229,9 @@ function $setEPerm(this$static, idx) {
|
|
|
1069
1229
|
setNPerm(this$static.ea, idx, 8, true);
|
|
1070
1230
|
}
|
|
1071
1231
|
function $setFlip(this$static, idx) {
|
|
1072
|
-
var i
|
|
1232
|
+
var i;
|
|
1233
|
+
var parity;
|
|
1234
|
+
var val;
|
|
1073
1235
|
parity = 0;
|
|
1074
1236
|
for (i = 10; i >= 0; --i, idx >>= 1) {
|
|
1075
1237
|
parity ^= val = idx & 1;
|
|
@@ -1078,7 +1240,9 @@ function $setFlip(this$static, idx) {
|
|
|
1078
1240
|
this$static.ea[11] = (this$static.ea[11] & -2 | parity) << 24 >> 24;
|
|
1079
1241
|
}
|
|
1080
1242
|
function $setTwist(this$static, idx) {
|
|
1081
|
-
var i
|
|
1243
|
+
var i;
|
|
1244
|
+
var twst;
|
|
1245
|
+
var val;
|
|
1082
1246
|
twst = 15;
|
|
1083
1247
|
for (i = 6; i >= 0; --i, idx = ~~(idx / 3)) {
|
|
1084
1248
|
twst -= val = idx % 3;
|
|
@@ -1087,17 +1251,21 @@ function $setTwist(this$static, idx) {
|
|
|
1087
1251
|
this$static.ca[7] = (this$static.ca[7] & 7 | twst % 3 << 3) << 24 >> 24;
|
|
1088
1252
|
}
|
|
1089
1253
|
function $verify(this$static) {
|
|
1090
|
-
var c
|
|
1254
|
+
var c;
|
|
1255
|
+
var cornMask;
|
|
1256
|
+
var e;
|
|
1257
|
+
var edgeMask;
|
|
1258
|
+
var sum;
|
|
1091
1259
|
sum = 0;
|
|
1092
1260
|
edgeMask = 0;
|
|
1093
1261
|
for (e = 0; e < 12; e++) {
|
|
1094
1262
|
edgeMask |= 1 << (this$static.ea[e] >> 1);
|
|
1095
1263
|
sum ^= this$static.ea[e] & 1;
|
|
1096
1264
|
}
|
|
1097
|
-
if (edgeMask
|
|
1265
|
+
if (edgeMask !== 4095) {
|
|
1098
1266
|
return -2;
|
|
1099
1267
|
}
|
|
1100
|
-
if (sum
|
|
1268
|
+
if (sum !== 0) {
|
|
1101
1269
|
return -3;
|
|
1102
1270
|
}
|
|
1103
1271
|
cornMask = 0;
|
|
@@ -1106,20 +1274,25 @@ function $verify(this$static) {
|
|
|
1106
1274
|
cornMask |= 1 << (this$static.ca[c] & 7);
|
|
1107
1275
|
sum += this$static.ca[c] >> 3;
|
|
1108
1276
|
}
|
|
1109
|
-
if (cornMask
|
|
1277
|
+
if (cornMask !== 255) {
|
|
1110
1278
|
return -4;
|
|
1111
1279
|
}
|
|
1112
|
-
if (sum % 3
|
|
1280
|
+
if (sum % 3 !== 0) {
|
|
1113
1281
|
return -5;
|
|
1114
1282
|
}
|
|
1115
|
-
if ((getNParity(getNPerm(this$static.ea, 12, true), 12) ^ getNParity(getNPerm(this$static.ca, 8, false), 8))
|
|
1283
|
+
if ((getNParity(getNPerm(this$static.ea, 12, true), 12) ^ getNParity(getNPerm(this$static.ca, 8, false), 8)) !== 0) {
|
|
1116
1284
|
return -6;
|
|
1117
1285
|
}
|
|
1118
1286
|
return 0;
|
|
1119
1287
|
}
|
|
1120
1288
|
function CornConjugate(a, idx, b) {
|
|
1121
1289
|
$clinit_CubieCube();
|
|
1122
|
-
var corn
|
|
1290
|
+
var corn;
|
|
1291
|
+
var ori;
|
|
1292
|
+
var oriA;
|
|
1293
|
+
var oriB;
|
|
1294
|
+
var s;
|
|
1295
|
+
var sinv;
|
|
1123
1296
|
sinv = CubeSym[SymMultInv[0][idx]];
|
|
1124
1297
|
s = CubeSym[idx];
|
|
1125
1298
|
for (corn = 0; corn < 8; corn++) {
|
|
@@ -1131,7 +1304,9 @@ function CornConjugate(a, idx, b) {
|
|
|
1131
1304
|
}
|
|
1132
1305
|
function CornMult(a, b, prod) {
|
|
1133
1306
|
$clinit_CubieCube();
|
|
1134
|
-
var corn
|
|
1307
|
+
var corn;
|
|
1308
|
+
var oriA;
|
|
1309
|
+
var oriB;
|
|
1135
1310
|
for (corn = 0; corn < 8; corn++) {
|
|
1136
1311
|
oriA = a.ca[b.ca[corn] & 7] >> 3;
|
|
1137
1312
|
oriB = b.ca[corn] >> 3;
|
|
@@ -1139,12 +1314,15 @@ function CornMult(a, b, prod) {
|
|
|
1139
1314
|
}
|
|
1140
1315
|
}
|
|
1141
1316
|
function CornMultFull(a, b, prod) {
|
|
1142
|
-
var corn
|
|
1317
|
+
var corn;
|
|
1318
|
+
var ori;
|
|
1319
|
+
var oriA;
|
|
1320
|
+
var oriB;
|
|
1143
1321
|
for (corn = 0; corn < 8; corn++) {
|
|
1144
1322
|
oriA = a.ca[b.ca[corn] & 7] >> 3;
|
|
1145
1323
|
oriB = b.ca[corn] >> 3;
|
|
1146
1324
|
ori = oriA + (oriA < 3 ? oriB : 6 - oriB);
|
|
1147
|
-
ori = ori % 3 + (oriA < 3
|
|
1325
|
+
ori = ori % 3 + (oriA < 3 === oriB < 3 ? 0 : 3);
|
|
1148
1326
|
prod.ca[corn] = (a.ca[b.ca[corn] & 7] & 7 | ori << 3) << 24 >> 24;
|
|
1149
1327
|
}
|
|
1150
1328
|
}
|
|
@@ -1169,7 +1347,9 @@ function ESym2CSym(idx) {
|
|
|
1169
1347
|
}
|
|
1170
1348
|
function EdgeConjugate(a, idx, b) {
|
|
1171
1349
|
$clinit_CubieCube();
|
|
1172
|
-
var ed
|
|
1350
|
+
var ed;
|
|
1351
|
+
var s;
|
|
1352
|
+
var sinv;
|
|
1173
1353
|
sinv = CubeSym[SymMultInv[0][idx]];
|
|
1174
1354
|
s = CubeSym[idx];
|
|
1175
1355
|
for (ed = 0; ed < 12; ed++) {
|
|
@@ -1195,7 +1375,8 @@ function getSkipMoves() {
|
|
|
1195
1375
|
return 0;
|
|
1196
1376
|
}
|
|
1197
1377
|
function initMove() {
|
|
1198
|
-
var a
|
|
1378
|
+
var a;
|
|
1379
|
+
var p;
|
|
1199
1380
|
moveCube[0] = new CubieCube_0(15120, 0, 119750400, 0);
|
|
1200
1381
|
moveCube[3] = new CubieCube_0(21021, 1494, 323403417, 0);
|
|
1201
1382
|
moveCube[6] = new CubieCube_0(8064, 1236, 29441808, 550);
|
|
@@ -1212,7 +1393,9 @@ function initMove() {
|
|
|
1212
1393
|
}
|
|
1213
1394
|
function initPermSym2Raw() {
|
|
1214
1395
|
$clinit_CubieCube();
|
|
1215
|
-
var cc
|
|
1396
|
+
var cc;
|
|
1397
|
+
var i;
|
|
1398
|
+
var i0;
|
|
1216
1399
|
initSym2Raw(
|
|
1217
1400
|
40320,
|
|
1218
1401
|
EPermS2R,
|
|
@@ -1234,7 +1417,22 @@ function initPermSym2Raw() {
|
|
|
1234
1417
|
}
|
|
1235
1418
|
}
|
|
1236
1419
|
function initSym() {
|
|
1237
|
-
var c
|
|
1420
|
+
var c;
|
|
1421
|
+
var d;
|
|
1422
|
+
var f2;
|
|
1423
|
+
var i;
|
|
1424
|
+
var i0;
|
|
1425
|
+
var i1;
|
|
1426
|
+
var i2;
|
|
1427
|
+
var j;
|
|
1428
|
+
var j0;
|
|
1429
|
+
var j1;
|
|
1430
|
+
var k;
|
|
1431
|
+
var lr2;
|
|
1432
|
+
var m;
|
|
1433
|
+
var s;
|
|
1434
|
+
var t;
|
|
1435
|
+
var u4;
|
|
1238
1436
|
c = new CubieCube();
|
|
1239
1437
|
d = new CubieCube();
|
|
1240
1438
|
f2 = new CubieCube_0(28783, 0, 259268407, 0);
|
|
@@ -1250,14 +1448,14 @@ function initSym() {
|
|
|
1250
1448
|
t = d;
|
|
1251
1449
|
d = c;
|
|
1252
1450
|
c = t;
|
|
1253
|
-
if (i1 % 4
|
|
1451
|
+
if (i1 % 4 === 3) {
|
|
1254
1452
|
CornMultFull(t, lr2, d);
|
|
1255
1453
|
EdgeMult(t, lr2, d);
|
|
1256
1454
|
t = d;
|
|
1257
1455
|
d = c;
|
|
1258
1456
|
c = t;
|
|
1259
1457
|
}
|
|
1260
|
-
if (i1 % 8
|
|
1458
|
+
if (i1 % 8 === 7) {
|
|
1261
1459
|
CornMultFull(t, f2, d);
|
|
1262
1460
|
EdgeMult(t, f2, d);
|
|
1263
1461
|
t = d;
|
|
@@ -1287,7 +1485,7 @@ function initSym() {
|
|
|
1287
1485
|
break;
|
|
1288
1486
|
}
|
|
1289
1487
|
}
|
|
1290
|
-
s % 2
|
|
1488
|
+
s % 2 === 0 && (Sym8Move[j1 << 3 | s >> 1] = SymMove_0[s][j1]);
|
|
1291
1489
|
}
|
|
1292
1490
|
}
|
|
1293
1491
|
for (i = 0; i < 18; i++) {
|
|
@@ -1295,47 +1493,59 @@ function initSym() {
|
|
|
1295
1493
|
j = i;
|
|
1296
1494
|
for (s = 0; s < 48; s++) {
|
|
1297
1495
|
SymMove_0[s % 16][j] < i && (firstMoveSym[s] |= 1 << i);
|
|
1298
|
-
s % 16
|
|
1496
|
+
s % 16 === 15 && (j = urfMove[2][j]);
|
|
1299
1497
|
}
|
|
1300
1498
|
}
|
|
1301
1499
|
}
|
|
1302
1500
|
function initSym2Raw(N_RAW, Sym2Raw, Raw2Sym, SymState, coord) {
|
|
1303
1501
|
$clinit_CubieCube();
|
|
1304
|
-
var c
|
|
1502
|
+
var c;
|
|
1503
|
+
var count;
|
|
1504
|
+
var d;
|
|
1505
|
+
var i;
|
|
1506
|
+
var idx;
|
|
1507
|
+
var isEdge;
|
|
1508
|
+
var s;
|
|
1509
|
+
var symIdx;
|
|
1510
|
+
var sym_inc;
|
|
1305
1511
|
c = new CubieCube();
|
|
1306
1512
|
d = new CubieCube();
|
|
1307
1513
|
count = 0;
|
|
1308
1514
|
idx = 0;
|
|
1309
1515
|
sym_inc = coord >= 2 ? 1 : 2;
|
|
1310
|
-
isEdge = coord
|
|
1516
|
+
isEdge = coord !== 1;
|
|
1311
1517
|
for (i = 0; i < N_RAW; i++) {
|
|
1312
|
-
if (Raw2Sym[i]
|
|
1518
|
+
if (Raw2Sym[i] !== 0) {
|
|
1313
1519
|
continue;
|
|
1314
1520
|
}
|
|
1315
1521
|
switch (coord) {
|
|
1316
|
-
case 0:
|
|
1522
|
+
case 0: {
|
|
1317
1523
|
$setFlip(c, i);
|
|
1318
1524
|
break;
|
|
1319
|
-
|
|
1525
|
+
}
|
|
1526
|
+
case 1: {
|
|
1320
1527
|
$setTwist(c, i);
|
|
1321
1528
|
break;
|
|
1529
|
+
}
|
|
1322
1530
|
case 2:
|
|
1323
1531
|
setNPerm(c.ea, i, 8, true);
|
|
1324
1532
|
}
|
|
1325
1533
|
for (s = 0; s < 16; s += sym_inc) {
|
|
1326
1534
|
isEdge ? EdgeConjugate(c, s, d) : CornConjugate(c, s, d);
|
|
1327
1535
|
switch (coord) {
|
|
1328
|
-
case 0:
|
|
1536
|
+
case 0: {
|
|
1329
1537
|
idx = $getFlip(d);
|
|
1330
1538
|
break;
|
|
1331
|
-
|
|
1539
|
+
}
|
|
1540
|
+
case 1: {
|
|
1332
1541
|
idx = $getTwist(d);
|
|
1333
1542
|
break;
|
|
1543
|
+
}
|
|
1334
1544
|
case 2:
|
|
1335
1545
|
idx = getNPerm(d.ea, 8, true);
|
|
1336
1546
|
}
|
|
1337
|
-
coord
|
|
1338
|
-
idx
|
|
1547
|
+
coord === 0 && (FlipS2RF[count << 3 | s >> 1] = idx & $intern_20);
|
|
1548
|
+
idx === i && (SymState[count] = (SymState[count] | 1 << ~~(s / sym_inc)) & $intern_20);
|
|
1339
1549
|
symIdx = ~~((count << 4 | s) / sym_inc);
|
|
1340
1550
|
Raw2Sym[idx] = symIdx & $intern_20;
|
|
1341
1551
|
}
|
|
@@ -1374,7 +1584,11 @@ var Lorg_cubing_min2phase_client_CubieCube_2_classLit = createForClass(
|
|
|
1374
1584
|
7
|
|
1375
1585
|
);
|
|
1376
1586
|
function $initPhase2(this$static, p2corn, p2csym, p2edge, p2esym, p2mid, edgei, corni) {
|
|
1377
|
-
var depth2
|
|
1587
|
+
var depth2;
|
|
1588
|
+
var i;
|
|
1589
|
+
var i0;
|
|
1590
|
+
var prun;
|
|
1591
|
+
var ret;
|
|
1378
1592
|
prun = max_0(
|
|
1379
1593
|
getPruning(
|
|
1380
1594
|
($clinit_CoordCube(), EPermCCombPPrun),
|
|
@@ -1423,7 +1637,7 @@ function $initPhase2(this$static, p2corn, p2csym, p2edge, p2esym, p2mid, edgei,
|
|
|
1423
1637
|
}
|
|
1424
1638
|
this$static.solLen = this$static.solution.length_0;
|
|
1425
1639
|
}
|
|
1426
|
-
if (depth2
|
|
1640
|
+
if (depth2 !== this$static.maxDep2) {
|
|
1427
1641
|
this$static.maxDep2 = min_0(
|
|
1428
1642
|
MAX_DEPTH2,
|
|
1429
1643
|
this$static.solLen - this$static.length1 - 1
|
|
@@ -1433,7 +1647,21 @@ function $initPhase2(this$static, p2corn, p2csym, p2edge, p2esym, p2mid, edgei,
|
|
|
1433
1647
|
return 1;
|
|
1434
1648
|
}
|
|
1435
1649
|
function $initPhase2Pre(this$static) {
|
|
1436
|
-
var corni
|
|
1650
|
+
var corni;
|
|
1651
|
+
var edgei;
|
|
1652
|
+
var i;
|
|
1653
|
+
var lastMove;
|
|
1654
|
+
var lastPre;
|
|
1655
|
+
var m;
|
|
1656
|
+
var p2corn;
|
|
1657
|
+
var p2csym;
|
|
1658
|
+
var p2edge;
|
|
1659
|
+
var p2esym;
|
|
1660
|
+
var p2mid;
|
|
1661
|
+
var p2switch;
|
|
1662
|
+
var p2switchMask;
|
|
1663
|
+
var p2switchMax;
|
|
1664
|
+
var ret;
|
|
1437
1665
|
this$static.isRec = false;
|
|
1438
1666
|
if (gte(
|
|
1439
1667
|
this$static.probe,
|
|
@@ -1464,12 +1692,12 @@ function $initPhase2Pre(this$static) {
|
|
|
1464
1692
|
p2mid = getNPerm(this$static.phase1Cubie[this$static.depth1].ea, 12, true) % 24;
|
|
1465
1693
|
edgei = getPermSymInv(p2edge, p2esym, false);
|
|
1466
1694
|
corni = getPermSymInv(p2corn, p2csym, true);
|
|
1467
|
-
lastMove = this$static.depth1
|
|
1468
|
-
lastPre = this$static.preMoveLen
|
|
1695
|
+
lastMove = this$static.depth1 === 0 ? -1 : this$static.move[this$static.depth1 - 1];
|
|
1696
|
+
lastPre = this$static.preMoveLen === 0 ? -1 : this$static.preMoves[this$static.preMoveLen - 1];
|
|
1469
1697
|
ret = 0;
|
|
1470
|
-
p2switchMax = (this$static.preMoveLen
|
|
1698
|
+
p2switchMax = (this$static.preMoveLen === 0 ? 1 : 2) * (this$static.depth1 === 0 ? 1 : 2);
|
|
1471
1699
|
for (p2switch = 0, p2switchMask = (1 << p2switchMax) - 1; p2switch < p2switchMax; p2switch++) {
|
|
1472
|
-
if ((p2switchMask >> p2switch & 1)
|
|
1700
|
+
if ((p2switchMask >> p2switch & 1) !== 0) {
|
|
1473
1701
|
p2switchMask &= ~(1 << p2switch);
|
|
1474
1702
|
ret = $initPhase2(
|
|
1475
1703
|
this$static,
|
|
@@ -1481,15 +1709,16 @@ function $initPhase2Pre(this$static) {
|
|
|
1481
1709
|
edgei,
|
|
1482
1710
|
corni
|
|
1483
1711
|
);
|
|
1484
|
-
if (ret
|
|
1712
|
+
if (ret === 0 || ret > 2) {
|
|
1485
1713
|
break;
|
|
1486
|
-
} else
|
|
1487
|
-
ret
|
|
1714
|
+
} else {
|
|
1715
|
+
ret === 2 && (p2switchMask &= 4 << p2switch);
|
|
1716
|
+
}
|
|
1488
1717
|
}
|
|
1489
|
-
if (p2switchMask
|
|
1718
|
+
if (p2switchMask === 0) {
|
|
1490
1719
|
break;
|
|
1491
1720
|
}
|
|
1492
|
-
if ((p2switch & 1)
|
|
1721
|
+
if ((p2switch & 1) === 0 && this$static.depth1 > 0) {
|
|
1493
1722
|
m = ($clinit_Util(), std2ud)[~~(lastMove / 3) * 3 + 1];
|
|
1494
1723
|
this$static.move[this$static.depth1 - 1] = ud2std[m] * 2 - this$static.move[this$static.depth1 - 1];
|
|
1495
1724
|
p2mid = ($clinit_CoordCube(), MPermMove)[p2mid][m];
|
|
@@ -1519,24 +1748,27 @@ function $initPhase2Pre(this$static) {
|
|
|
1519
1748
|
}
|
|
1520
1749
|
this$static.depth1 > 0 && (this$static.move[this$static.depth1 - 1] = lastMove);
|
|
1521
1750
|
this$static.preMoveLen > 0 && (this$static.preMoves[this$static.preMoveLen - 1] = lastPre);
|
|
1522
|
-
return ret
|
|
1751
|
+
return ret === 0 ? 0 : 2;
|
|
1523
1752
|
}
|
|
1524
1753
|
function $initSearch(this$static) {
|
|
1525
1754
|
var i;
|
|
1526
1755
|
this$static.conjMask = 0;
|
|
1527
1756
|
this$static.selfSym = $selfSymmetry(this$static.cc);
|
|
1528
|
-
this$static.conjMask |= neq(
|
|
1529
|
-
|
|
1530
|
-
|
|
1531
|
-
|
|
1532
|
-
|
|
1533
|
-
|
|
1534
|
-
|
|
1535
|
-
|
|
1536
|
-
|
|
1537
|
-
|
|
1538
|
-
|
|
1539
|
-
|
|
1757
|
+
this$static.conjMask |= neq(and(shr(this$static.selfSym, 16), {
|
|
1758
|
+
l: $intern_20,
|
|
1759
|
+
m: 0,
|
|
1760
|
+
h: 0
|
|
1761
|
+
}), { l: 0, m: 0, h: 0 }) ? 18 : 0;
|
|
1762
|
+
this$static.conjMask |= neq(and(shr(this$static.selfSym, 32), {
|
|
1763
|
+
l: $intern_20,
|
|
1764
|
+
m: 0,
|
|
1765
|
+
h: 0
|
|
1766
|
+
}), { l: 0, m: 0, h: 0 }) ? 36 : 0;
|
|
1767
|
+
this$static.conjMask |= neq(and(shr(this$static.selfSym, 48), {
|
|
1768
|
+
l: $intern_20,
|
|
1769
|
+
m: 0,
|
|
1770
|
+
h: 0
|
|
1771
|
+
}), { l: 0, m: 0, h: 0 }) ? 56 : 0;
|
|
1540
1772
|
this$static.selfSym = and(this$static.selfSym, {
|
|
1541
1773
|
l: $intern_9,
|
|
1542
1774
|
m: $intern_9,
|
|
@@ -1547,13 +1779,18 @@ function $initSearch(this$static) {
|
|
|
1547
1779
|
$copy(this$static.urfCubieCube[i], this$static.cc);
|
|
1548
1780
|
$setWithPrun(this$static.urfCoordCube[i], this$static.urfCubieCube[i], 20);
|
|
1549
1781
|
$URFConjugate(this$static.cc);
|
|
1550
|
-
i % 3
|
|
1782
|
+
i % 3 === 2 && $invCubieCube(this$static.cc);
|
|
1551
1783
|
}
|
|
1552
1784
|
}
|
|
1553
1785
|
function $phase1(this$static, node, ssym, maxl, lm) {
|
|
1554
|
-
var axis_0
|
|
1555
|
-
|
|
1556
|
-
|
|
1786
|
+
var axis_0;
|
|
1787
|
+
var m;
|
|
1788
|
+
var power;
|
|
1789
|
+
var prun;
|
|
1790
|
+
var ret;
|
|
1791
|
+
var skipMoves;
|
|
1792
|
+
if (node.prun === 0 && maxl < 5) {
|
|
1793
|
+
if (this$static.allowShorter || maxl === 0) {
|
|
1557
1794
|
this$static.depth1 -= maxl;
|
|
1558
1795
|
ret = $initPhase2Pre(this$static);
|
|
1559
1796
|
this$static.depth1 += maxl;
|
|
@@ -1564,24 +1801,24 @@ function $phase1(this$static, node, ssym, maxl, lm) {
|
|
|
1564
1801
|
}
|
|
1565
1802
|
skipMoves = getSkipMoves(fromInt(ssym));
|
|
1566
1803
|
for (axis_0 = 0; axis_0 < 18; axis_0 += 3) {
|
|
1567
|
-
if (axis_0
|
|
1804
|
+
if (axis_0 === lm || axis_0 === lm - 9) {
|
|
1568
1805
|
continue;
|
|
1569
1806
|
}
|
|
1570
1807
|
for (power = 0; power < 3; power++) {
|
|
1571
1808
|
m = axis_0 + power;
|
|
1572
|
-
if (this$static.isRec && m
|
|
1809
|
+
if (this$static.isRec && m !== this$static.move[this$static.depth1 - maxl] || skipMoves !== 0 && (skipMoves & 1 << m) !== 0) {
|
|
1573
1810
|
continue;
|
|
1574
1811
|
}
|
|
1575
1812
|
prun = $doMovePrun(this$static.nodeUD[maxl], node, m);
|
|
1576
1813
|
if (prun > maxl) {
|
|
1577
1814
|
break;
|
|
1578
|
-
} else if (prun
|
|
1815
|
+
} else if (prun === maxl) {
|
|
1579
1816
|
continue;
|
|
1580
1817
|
}
|
|
1581
1818
|
prun = $doMovePrunConj(this$static.nodeUD[maxl], node, m);
|
|
1582
1819
|
if (prun > maxl) {
|
|
1583
1820
|
break;
|
|
1584
|
-
} else if (prun
|
|
1821
|
+
} else if (prun === maxl) {
|
|
1585
1822
|
continue;
|
|
1586
1823
|
}
|
|
1587
1824
|
this$static.move[this$static.depth1 - maxl] = m;
|
|
@@ -1593,7 +1830,7 @@ function $phase1(this$static, node, ssym, maxl, lm) {
|
|
|
1593
1830
|
maxl - 1,
|
|
1594
1831
|
axis_0
|
|
1595
1832
|
);
|
|
1596
|
-
if (ret
|
|
1833
|
+
if (ret === 0) {
|
|
1597
1834
|
return 0;
|
|
1598
1835
|
} else if (ret >= 2) {
|
|
1599
1836
|
break;
|
|
@@ -1603,12 +1840,14 @@ function $phase1(this$static, node, ssym, maxl, lm) {
|
|
|
1603
1840
|
return 1;
|
|
1604
1841
|
}
|
|
1605
1842
|
function $phase1PreMoves(this$static, maxl, lm, cc, ssym) {
|
|
1606
|
-
var m
|
|
1843
|
+
var m;
|
|
1844
|
+
var ret;
|
|
1845
|
+
var skipMoves;
|
|
1607
1846
|
this$static.preMoveLen = this$static.maxPreMoves - maxl;
|
|
1608
|
-
if (this$static.isRec ? this$static.depth1
|
|
1847
|
+
if (this$static.isRec ? this$static.depth1 === this$static.length1 - this$static.preMoveLen : this$static.preMoveLen === 0 || (225207 >> lm & 1) === 0) {
|
|
1609
1848
|
this$static.depth1 = this$static.length1 - this$static.preMoveLen;
|
|
1610
1849
|
this$static.phase1Cubie[0] = cc;
|
|
1611
|
-
this$static.allowShorter = this$static.depth1
|
|
1850
|
+
this$static.allowShorter = this$static.depth1 === MIN_P1LENGTH_PRE && this$static.preMoveLen !== 0;
|
|
1612
1851
|
if ($setWithPrun(
|
|
1613
1852
|
this$static.nodeUD[this$static.depth1 + 1],
|
|
1614
1853
|
cc,
|
|
@@ -1619,22 +1858,22 @@ function $phase1PreMoves(this$static, maxl, lm, cc, ssym) {
|
|
|
1619
1858
|
ssym,
|
|
1620
1859
|
this$static.depth1,
|
|
1621
1860
|
-1
|
|
1622
|
-
)
|
|
1861
|
+
) === 0) {
|
|
1623
1862
|
return 0;
|
|
1624
1863
|
}
|
|
1625
1864
|
}
|
|
1626
|
-
if (maxl
|
|
1865
|
+
if (maxl === 0 || this$static.preMoveLen + MIN_P1LENGTH_PRE >= this$static.length1) {
|
|
1627
1866
|
return 1;
|
|
1628
1867
|
}
|
|
1629
1868
|
skipMoves = getSkipMoves(fromInt(ssym));
|
|
1630
|
-
(maxl
|
|
1869
|
+
(maxl === 1 || this$static.preMoveLen + 1 + MIN_P1LENGTH_PRE >= this$static.length1) && (skipMoves |= 225207);
|
|
1631
1870
|
lm = ~~(lm / 3) * 3;
|
|
1632
1871
|
for (m = 0; m < 18; m++) {
|
|
1633
|
-
if (m
|
|
1872
|
+
if (m === lm || m === lm - 9 || m === lm + 9) {
|
|
1634
1873
|
m += 2;
|
|
1635
1874
|
continue;
|
|
1636
1875
|
}
|
|
1637
|
-
if (this$static.isRec && m
|
|
1876
|
+
if (this$static.isRec && m !== this$static.preMoves[this$static.maxPreMoves - maxl] || (skipMoves & 1 << m) !== 0) {
|
|
1638
1877
|
continue;
|
|
1639
1878
|
}
|
|
1640
1879
|
CornMult(
|
|
@@ -1651,20 +1890,30 @@ function $phase1PreMoves(this$static, maxl, lm, cc, ssym) {
|
|
|
1651
1890
|
this$static.preMoveCubes[maxl],
|
|
1652
1891
|
ssym & toInt(moveCubeSym[m])
|
|
1653
1892
|
);
|
|
1654
|
-
if (ret
|
|
1893
|
+
if (ret === 0) {
|
|
1655
1894
|
return 0;
|
|
1656
1895
|
}
|
|
1657
1896
|
}
|
|
1658
1897
|
return 1;
|
|
1659
1898
|
}
|
|
1660
1899
|
function $phase2(this$static, edge, esym, corn, csym, mid, maxl, depth, lm) {
|
|
1661
|
-
var corni
|
|
1662
|
-
|
|
1900
|
+
var corni;
|
|
1901
|
+
var cornx;
|
|
1902
|
+
var csymx;
|
|
1903
|
+
var edgei;
|
|
1904
|
+
var edgex;
|
|
1905
|
+
var esymx;
|
|
1906
|
+
var m;
|
|
1907
|
+
var midx;
|
|
1908
|
+
var moveMask;
|
|
1909
|
+
var prun;
|
|
1910
|
+
var ret;
|
|
1911
|
+
if (edge === 0 && corn === 0 && mid === 0) {
|
|
1663
1912
|
return maxl;
|
|
1664
1913
|
}
|
|
1665
1914
|
moveMask = ($clinit_Util(), ckmv2bit)[lm];
|
|
1666
1915
|
for (m = 0; m < 10; m++) {
|
|
1667
|
-
if ((moveMask >> m & 1)
|
|
1916
|
+
if ((moveMask >> m & 1) !== 0) {
|
|
1668
1917
|
m += 66 >> m & 3;
|
|
1669
1918
|
continue;
|
|
1670
1919
|
}
|
|
@@ -1727,7 +1976,7 @@ function $search(this$static) {
|
|
|
1727
1976
|
this$static.solLen - this$static.length1 - 1
|
|
1728
1977
|
);
|
|
1729
1978
|
for (this$static.urfIdx = this$static.isRec ? this$static.urfIdx : 0; this$static.urfIdx < 6; this$static.urfIdx++) {
|
|
1730
|
-
if ((this$static.conjMask & 1 << this$static.urfIdx)
|
|
1979
|
+
if ((this$static.conjMask & 1 << this$static.urfIdx) !== 0) {
|
|
1731
1980
|
continue;
|
|
1732
1981
|
}
|
|
1733
1982
|
if ($phase1PreMoves(
|
|
@@ -1736,7 +1985,7 @@ function $search(this$static) {
|
|
|
1736
1985
|
-30,
|
|
1737
1986
|
this$static.urfCubieCube[this$static.urfIdx],
|
|
1738
1987
|
toInt(and(this$static.selfSym, { l: $intern_20, m: 0, h: 0 }))
|
|
1739
|
-
)
|
|
1988
|
+
) === 0) {
|
|
1740
1989
|
return !this$static.solution ? "Error 8" : $toString_2(this$static.solution);
|
|
1741
1990
|
}
|
|
1742
1991
|
}
|
|
@@ -1746,8 +1995,8 @@ function $search(this$static) {
|
|
|
1746
1995
|
function $solution(this$static, facelets) {
|
|
1747
1996
|
var check;
|
|
1748
1997
|
check = $verify_0(this$static, facelets);
|
|
1749
|
-
if (check
|
|
1750
|
-
return
|
|
1998
|
+
if (check !== 0) {
|
|
1999
|
+
return `Error ${check < 0 ? -check : check}`;
|
|
1751
2000
|
}
|
|
1752
2001
|
this$static.solLen = 22;
|
|
1753
2002
|
this$static.probe = { l: 0, m: 0, h: 0 };
|
|
@@ -1761,7 +2010,10 @@ function $solution(this$static, facelets) {
|
|
|
1761
2010
|
return $search(this$static);
|
|
1762
2011
|
}
|
|
1763
2012
|
function $verify_0(this$static, facelets) {
|
|
1764
|
-
var center
|
|
2013
|
+
var center;
|
|
2014
|
+
var count;
|
|
2015
|
+
var f;
|
|
2016
|
+
var i;
|
|
1765
2017
|
count = 0;
|
|
1766
2018
|
f = initDim(B_classLit, $intern_30, 0, 54, 7, 1);
|
|
1767
2019
|
center = _String(
|
|
@@ -1776,19 +2028,21 @@ function $verify_0(this$static, facelets) {
|
|
|
1776
2028
|
);
|
|
1777
2029
|
for (i = 0; i < 54; i++) {
|
|
1778
2030
|
f[i] = $indexOf_0(center, fromCodePoint(facelets.charCodeAt(i))) << 24 >> 24;
|
|
1779
|
-
if (f[i]
|
|
2031
|
+
if (f[i] === -1) {
|
|
1780
2032
|
return -1;
|
|
1781
2033
|
}
|
|
1782
2034
|
count += 1 << (f[i] << 2);
|
|
1783
2035
|
}
|
|
1784
|
-
if (count
|
|
2036
|
+
if (count !== 10066329) {
|
|
1785
2037
|
return -1;
|
|
1786
2038
|
}
|
|
1787
2039
|
toCubieCube(f, this$static.cc);
|
|
1788
2040
|
return $verify(this$static.cc);
|
|
1789
2041
|
}
|
|
1790
2042
|
function Search() {
|
|
1791
|
-
var i
|
|
2043
|
+
var i;
|
|
2044
|
+
var i0;
|
|
2045
|
+
var i1;
|
|
1792
2046
|
this.move = initDim(I_classLit, $intern_27, 0, 31, 7, 1);
|
|
1793
2047
|
this.nodeUD = initDim(
|
|
1794
2048
|
Lorg_cubing_min2phase_client_CoordCube_2_classLit,
|
|
@@ -1887,197 +2141,157 @@ function $clinit_Util() {
|
|
|
1887
2141
|
return;
|
|
1888
2142
|
}
|
|
1889
2143
|
$clinit_Util_ran = true;
|
|
1890
|
-
var i
|
|
1891
|
-
|
|
1892
|
-
|
|
1893
|
-
|
|
1894
|
-
|
|
1895
|
-
|
|
1896
|
-
|
|
1897
|
-
|
|
1898
|
-
|
|
1899
|
-
|
|
1900
|
-
|
|
1901
|
-
|
|
1902
|
-
|
|
1903
|
-
|
|
1904
|
-
|
|
1905
|
-
|
|
1906
|
-
|
|
1907
|
-
|
|
1908
|
-
|
|
1909
|
-
|
|
1910
|
-
|
|
1911
|
-
|
|
1912
|
-
|
|
1913
|
-
|
|
1914
|
-
|
|
1915
|
-
|
|
1916
|
-
|
|
1917
|
-
|
|
1918
|
-
|
|
1919
|
-
|
|
1920
|
-
|
|
1921
|
-
|
|
1922
|
-
|
|
1923
|
-
|
|
1924
|
-
|
|
1925
|
-
|
|
1926
|
-
|
|
1927
|
-
|
|
1928
|
-
|
|
1929
|
-
|
|
1930
|
-
|
|
1931
|
-
|
|
1932
|
-
|
|
1933
|
-
|
|
1934
|
-
|
|
1935
|
-
|
|
1936
|
-
|
|
1937
|
-
|
|
1938
|
-
|
|
1939
|
-
|
|
1940
|
-
|
|
1941
|
-
|
|
1942
|
-
|
|
1943
|
-
|
|
1944
|
-
|
|
1945
|
-
|
|
1946
|
-
|
|
1947
|
-
|
|
1948
|
-
|
|
1949
|
-
|
|
1950
|
-
|
|
1951
|
-
|
|
1952
|
-
|
|
1953
|
-
|
|
1954
|
-
|
|
1955
|
-
|
|
1956
|
-
|
|
1957
|
-
$
|
|
1958
|
-
|
|
1959
|
-
|
|
1960
|
-
|
|
1961
|
-
|
|
1962
|
-
|
|
1963
|
-
|
|
1964
|
-
|
|
1965
|
-
|
|
1966
|
-
|
|
1967
|
-
|
|
1968
|
-
|
|
1969
|
-
|
|
1970
|
-
|
|
1971
|
-
|
|
1972
|
-
|
|
1973
|
-
|
|
1974
|
-
|
|
1975
|
-
|
|
1976
|
-
|
|
1977
|
-
|
|
1978
|
-
|
|
1979
|
-
|
|
1980
|
-
|
|
1981
|
-
|
|
1982
|
-
|
|
1983
|
-
|
|
1984
|
-
|
|
1985
|
-
|
|
1986
|
-
|
|
1987
|
-
|
|
1988
|
-
|
|
1989
|
-
|
|
1990
|
-
|
|
1991
|
-
|
|
1992
|
-
|
|
1993
|
-
|
|
1994
|
-
[32, 16]
|
|
1995
|
-
),
|
|
1996
|
-
initValues(
|
|
1997
|
-
getClassLiteralForArray(B_classLit, 1),
|
|
1998
|
-
$intern_30,
|
|
1999
|
-
0,
|
|
2000
|
-
7,
|
|
2001
|
-
[28, 25]
|
|
2002
|
-
),
|
|
2003
|
-
initValues(
|
|
2004
|
-
getClassLiteralForArray(B_classLit, 1),
|
|
2005
|
-
$intern_30,
|
|
2006
|
-
0,
|
|
2007
|
-
7,
|
|
2008
|
-
[30, 43]
|
|
2009
|
-
),
|
|
2010
|
-
initValues(
|
|
2011
|
-
getClassLiteralForArray(B_classLit, 1),
|
|
2012
|
-
$intern_30,
|
|
2013
|
-
0,
|
|
2014
|
-
7,
|
|
2015
|
-
[34, 52]
|
|
2016
|
-
),
|
|
2017
|
-
initValues(
|
|
2018
|
-
getClassLiteralForArray(B_classLit, 1),
|
|
2019
|
-
$intern_30,
|
|
2020
|
-
0,
|
|
2021
|
-
7,
|
|
2022
|
-
[23, 12]
|
|
2023
|
-
),
|
|
2024
|
-
initValues(
|
|
2025
|
-
getClassLiteralForArray(B_classLit, 1),
|
|
2026
|
-
$intern_30,
|
|
2027
|
-
0,
|
|
2028
|
-
7,
|
|
2029
|
-
[21, 41]
|
|
2030
|
-
),
|
|
2031
|
-
initValues(
|
|
2032
|
-
getClassLiteralForArray(B_classLit, 1),
|
|
2033
|
-
$intern_30,
|
|
2034
|
-
0,
|
|
2035
|
-
7,
|
|
2036
|
-
[50, 39]
|
|
2037
|
-
),
|
|
2038
|
-
initValues(
|
|
2039
|
-
getClassLiteralForArray(B_classLit, 1),
|
|
2040
|
-
$intern_30,
|
|
2041
|
-
0,
|
|
2042
|
-
7,
|
|
2043
|
-
[48, 14]
|
|
2044
|
-
)
|
|
2045
|
-
]
|
|
2046
|
-
);
|
|
2144
|
+
var i;
|
|
2145
|
+
var i0;
|
|
2146
|
+
var i1;
|
|
2147
|
+
var ix;
|
|
2148
|
+
var j;
|
|
2149
|
+
var jx;
|
|
2150
|
+
cornerFacelet = initValues(getClassLiteralForArray(
|
|
2151
|
+
B_classLit,
|
|
2152
|
+
2
|
|
2153
|
+
), $intern_3, 10, 0, [
|
|
2154
|
+
initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [
|
|
2155
|
+
8,
|
|
2156
|
+
9,
|
|
2157
|
+
20
|
|
2158
|
+
]),
|
|
2159
|
+
initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [
|
|
2160
|
+
6,
|
|
2161
|
+
18,
|
|
2162
|
+
38
|
|
2163
|
+
]),
|
|
2164
|
+
initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [
|
|
2165
|
+
0,
|
|
2166
|
+
36,
|
|
2167
|
+
47
|
|
2168
|
+
]),
|
|
2169
|
+
initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [
|
|
2170
|
+
2,
|
|
2171
|
+
45,
|
|
2172
|
+
11
|
|
2173
|
+
]),
|
|
2174
|
+
initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [
|
|
2175
|
+
29,
|
|
2176
|
+
26,
|
|
2177
|
+
15
|
|
2178
|
+
]),
|
|
2179
|
+
initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [
|
|
2180
|
+
27,
|
|
2181
|
+
44,
|
|
2182
|
+
24
|
|
2183
|
+
]),
|
|
2184
|
+
initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [
|
|
2185
|
+
33,
|
|
2186
|
+
53,
|
|
2187
|
+
42
|
|
2188
|
+
]),
|
|
2189
|
+
initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [
|
|
2190
|
+
35,
|
|
2191
|
+
17,
|
|
2192
|
+
51
|
|
2193
|
+
])
|
|
2194
|
+
]);
|
|
2195
|
+
edgeFacelet = initValues(getClassLiteralForArray(
|
|
2196
|
+
B_classLit,
|
|
2197
|
+
2
|
|
2198
|
+
), $intern_3, 10, 0, [
|
|
2199
|
+
initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [
|
|
2200
|
+
5,
|
|
2201
|
+
10
|
|
2202
|
+
]),
|
|
2203
|
+
initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [
|
|
2204
|
+
7,
|
|
2205
|
+
19
|
|
2206
|
+
]),
|
|
2207
|
+
initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [
|
|
2208
|
+
3,
|
|
2209
|
+
37
|
|
2210
|
+
]),
|
|
2211
|
+
initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [
|
|
2212
|
+
1,
|
|
2213
|
+
46
|
|
2214
|
+
]),
|
|
2215
|
+
initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [
|
|
2216
|
+
32,
|
|
2217
|
+
16
|
|
2218
|
+
]),
|
|
2219
|
+
initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [
|
|
2220
|
+
28,
|
|
2221
|
+
25
|
|
2222
|
+
]),
|
|
2223
|
+
initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [
|
|
2224
|
+
30,
|
|
2225
|
+
43
|
|
2226
|
+
]),
|
|
2227
|
+
initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [
|
|
2228
|
+
34,
|
|
2229
|
+
52
|
|
2230
|
+
]),
|
|
2231
|
+
initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [
|
|
2232
|
+
23,
|
|
2233
|
+
12
|
|
2234
|
+
]),
|
|
2235
|
+
initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [
|
|
2236
|
+
21,
|
|
2237
|
+
41
|
|
2238
|
+
]),
|
|
2239
|
+
initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [
|
|
2240
|
+
50,
|
|
2241
|
+
39
|
|
2242
|
+
]),
|
|
2243
|
+
initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [
|
|
2244
|
+
48,
|
|
2245
|
+
14
|
|
2246
|
+
])
|
|
2247
|
+
]);
|
|
2047
2248
|
Cnk = initDims(I_classLit, [$intern_3, $intern_27], [17, 0], 7, [13, 13], 2);
|
|
2048
|
-
move2str = initValues(
|
|
2049
|
-
|
|
2050
|
-
|
|
2249
|
+
move2str = initValues(getClassLiteralForArray(
|
|
2250
|
+
Ljava_lang_String_2_classLit,
|
|
2251
|
+
1
|
|
2252
|
+
), $intern_3, 2, 4, [
|
|
2253
|
+
"U ",
|
|
2254
|
+
"U2",
|
|
2255
|
+
"U'",
|
|
2256
|
+
"R ",
|
|
2257
|
+
"R2",
|
|
2258
|
+
"R'",
|
|
2259
|
+
"F ",
|
|
2260
|
+
"F2",
|
|
2261
|
+
"F'",
|
|
2262
|
+
"D ",
|
|
2263
|
+
"D2",
|
|
2264
|
+
"D'",
|
|
2265
|
+
"L ",
|
|
2266
|
+
"L2",
|
|
2267
|
+
"L'",
|
|
2268
|
+
"B ",
|
|
2269
|
+
"B2",
|
|
2270
|
+
"B'"
|
|
2271
|
+
]);
|
|
2272
|
+
ud2std = initValues(getClassLiteralForArray(
|
|
2273
|
+
I_classLit,
|
|
2274
|
+
1
|
|
2275
|
+
), $intern_27, 0, 7, [
|
|
2276
|
+
0,
|
|
2277
|
+
1,
|
|
2051
2278
|
2,
|
|
2052
2279
|
4,
|
|
2053
|
-
[
|
|
2054
|
-
"U ",
|
|
2055
|
-
"U2",
|
|
2056
|
-
"U'",
|
|
2057
|
-
"R ",
|
|
2058
|
-
"R2",
|
|
2059
|
-
"R'",
|
|
2060
|
-
"F ",
|
|
2061
|
-
"F2",
|
|
2062
|
-
"F'",
|
|
2063
|
-
"D ",
|
|
2064
|
-
"D2",
|
|
2065
|
-
"D'",
|
|
2066
|
-
"L ",
|
|
2067
|
-
"L2",
|
|
2068
|
-
"L'",
|
|
2069
|
-
"B ",
|
|
2070
|
-
"B2",
|
|
2071
|
-
"B'"
|
|
2072
|
-
]
|
|
2073
|
-
);
|
|
2074
|
-
ud2std = initValues(
|
|
2075
|
-
getClassLiteralForArray(I_classLit, 1),
|
|
2076
|
-
$intern_27,
|
|
2077
|
-
0,
|
|
2078
2280
|
7,
|
|
2079
|
-
|
|
2080
|
-
|
|
2281
|
+
9,
|
|
2282
|
+
10,
|
|
2283
|
+
11,
|
|
2284
|
+
13,
|
|
2285
|
+
16,
|
|
2286
|
+
3,
|
|
2287
|
+
5,
|
|
2288
|
+
6,
|
|
2289
|
+
8,
|
|
2290
|
+
12,
|
|
2291
|
+
14,
|
|
2292
|
+
15,
|
|
2293
|
+
17
|
|
2294
|
+
]);
|
|
2081
2295
|
std2ud = initDim(I_classLit, $intern_27, 0, 18, 7, 1);
|
|
2082
2296
|
ckmv2bit = initDim(I_classLit, $intern_27, 0, 11, 7, 1);
|
|
2083
2297
|
for (i0 = 0; i0 < 18; i0++) {
|
|
@@ -2088,7 +2302,7 @@ function $clinit_Util() {
|
|
|
2088
2302
|
ckmv2bit[i1] = 0;
|
|
2089
2303
|
for (j = 0; j < 10; j++) {
|
|
2090
2304
|
jx = ~~(ud2std[j] / 3);
|
|
2091
|
-
ckmv2bit[i1] |= (ix
|
|
2305
|
+
ckmv2bit[i1] |= (ix === jx || ix % 3 === jx % 3 && ix >= jx ? 1 : 0) << j;
|
|
2092
2306
|
}
|
|
2093
2307
|
}
|
|
2094
2308
|
ckmv2bit[10] = 0;
|
|
@@ -2101,19 +2315,24 @@ function $clinit_Util() {
|
|
|
2101
2315
|
}
|
|
2102
2316
|
function getComb(arr, mask, isEdge) {
|
|
2103
2317
|
$clinit_Util();
|
|
2104
|
-
var end
|
|
2318
|
+
var end;
|
|
2319
|
+
var i;
|
|
2320
|
+
var idxC;
|
|
2321
|
+
var perm;
|
|
2322
|
+
var r;
|
|
2105
2323
|
end = arr.length - 1;
|
|
2106
2324
|
idxC = 0;
|
|
2107
2325
|
r = 4;
|
|
2108
2326
|
for (i = end; i >= 0; i--) {
|
|
2109
2327
|
perm = getVal(arr[i], isEdge);
|
|
2110
|
-
(perm & 12)
|
|
2328
|
+
(perm & 12) === mask && (idxC += Cnk[i][r--]);
|
|
2111
2329
|
}
|
|
2112
2330
|
return idxC;
|
|
2113
2331
|
}
|
|
2114
2332
|
function getNParity(idx, n) {
|
|
2115
2333
|
$clinit_Util();
|
|
2116
|
-
var i
|
|
2334
|
+
var i;
|
|
2335
|
+
var p;
|
|
2117
2336
|
p = 0;
|
|
2118
2337
|
for (i = n - 2; i >= 0; i--) {
|
|
2119
2338
|
p ^= idx % (n - i);
|
|
@@ -2123,7 +2342,10 @@ function getNParity(idx, n) {
|
|
|
2123
2342
|
}
|
|
2124
2343
|
function getNPerm(arr, n, isEdge) {
|
|
2125
2344
|
$clinit_Util();
|
|
2126
|
-
var i
|
|
2345
|
+
var i;
|
|
2346
|
+
var idx;
|
|
2347
|
+
var v;
|
|
2348
|
+
var val;
|
|
2127
2349
|
idx = 0;
|
|
2128
2350
|
val = { l: 1323536, m: 2777561, h: 1043915 };
|
|
2129
2351
|
for (i = 0; i < n - 1; i++) {
|
|
@@ -2138,7 +2360,10 @@ function getVal(val0, isEdge) {
|
|
|
2138
2360
|
}
|
|
2139
2361
|
function setComb(arr, idxC, mask, isEdge) {
|
|
2140
2362
|
$clinit_Util();
|
|
2141
|
-
var end
|
|
2363
|
+
var end;
|
|
2364
|
+
var fill;
|
|
2365
|
+
var i;
|
|
2366
|
+
var r;
|
|
2142
2367
|
end = arr.length - 1;
|
|
2143
2368
|
r = 4;
|
|
2144
2369
|
fill = end;
|
|
@@ -2147,14 +2372,19 @@ function setComb(arr, idxC, mask, isEdge) {
|
|
|
2147
2372
|
idxC -= Cnk[i][r--];
|
|
2148
2373
|
arr[i] = setVal(arr[i], r | mask, isEdge);
|
|
2149
2374
|
} else {
|
|
2150
|
-
(fill & 12)
|
|
2375
|
+
(fill & 12) === mask && (fill -= 4);
|
|
2151
2376
|
arr[i] = setVal(arr[i], fill--, isEdge);
|
|
2152
2377
|
}
|
|
2153
2378
|
}
|
|
2154
2379
|
}
|
|
2155
2380
|
function setNPerm(arr, idx, n, isEdge) {
|
|
2156
2381
|
$clinit_Util();
|
|
2157
|
-
var extract
|
|
2382
|
+
var extract;
|
|
2383
|
+
var i;
|
|
2384
|
+
var m;
|
|
2385
|
+
var p;
|
|
2386
|
+
var v;
|
|
2387
|
+
var val;
|
|
2158
2388
|
val = { l: 1323536, m: 2777561, h: 1043915 };
|
|
2159
2389
|
extract = { l: 0, m: 0, h: 0 };
|
|
2160
2390
|
for (p = 2; p <= n; p++) {
|
|
@@ -2190,7 +2420,14 @@ function setVal(val0, val, isEdge) {
|
|
|
2190
2420
|
}
|
|
2191
2421
|
function toCubieCube(f, ccRet) {
|
|
2192
2422
|
$clinit_Util();
|
|
2193
|
-
var col1
|
|
2423
|
+
var col1;
|
|
2424
|
+
var col2;
|
|
2425
|
+
var i;
|
|
2426
|
+
var i0;
|
|
2427
|
+
var i1;
|
|
2428
|
+
var i2;
|
|
2429
|
+
var j;
|
|
2430
|
+
var ori;
|
|
2194
2431
|
for (i0 = 0; i0 < 8; i0++) {
|
|
2195
2432
|
ccRet.ca[i0] = 0;
|
|
2196
2433
|
}
|
|
@@ -2199,13 +2436,14 @@ function toCubieCube(f, ccRet) {
|
|
|
2199
2436
|
}
|
|
2200
2437
|
for (i2 = 0; i2 < 8; i2++) {
|
|
2201
2438
|
for (ori = 0; ori < 3; ori++) {
|
|
2202
|
-
if (f[cornerFacelet[i2][ori]]
|
|
2439
|
+
if (f[cornerFacelet[i2][ori]] === 0 || f[cornerFacelet[i2][ori]] === 3) {
|
|
2203
2440
|
break;
|
|
2441
|
+
}
|
|
2204
2442
|
}
|
|
2205
2443
|
col1 = f[cornerFacelet[i2][(ori + 1) % 3]];
|
|
2206
2444
|
col2 = f[cornerFacelet[i2][(ori + 2) % 3]];
|
|
2207
2445
|
for (j = 0; j < 8; j++) {
|
|
2208
|
-
if (col1
|
|
2446
|
+
if (col1 === ~~(cornerFacelet[j][1] / 9) && col2 === ~~(cornerFacelet[j][2] / 9)) {
|
|
2209
2447
|
ccRet.ca[i2] = narrow_byte(ori % 3 << 3 | j);
|
|
2210
2448
|
break;
|
|
2211
2449
|
}
|
|
@@ -2213,11 +2451,11 @@ function toCubieCube(f, ccRet) {
|
|
|
2213
2451
|
}
|
|
2214
2452
|
for (i = 0; i < 12; i++) {
|
|
2215
2453
|
for (j = 0; j < 12; j++) {
|
|
2216
|
-
if (f[edgeFacelet[i][0]]
|
|
2454
|
+
if (f[edgeFacelet[i][0]] === ~~(edgeFacelet[j][0] / 9) && f[edgeFacelet[i][1]] === ~~(edgeFacelet[j][1] / 9)) {
|
|
2217
2455
|
ccRet.ea[i] = narrow_byte(j << 1);
|
|
2218
2456
|
break;
|
|
2219
2457
|
}
|
|
2220
|
-
if (f[edgeFacelet[i][0]]
|
|
2458
|
+
if (f[edgeFacelet[i][0]] === ~~(edgeFacelet[j][1] / 9) && f[edgeFacelet[i][1]] === ~~(edgeFacelet[j][0] / 9)) {
|
|
2221
2459
|
ccRet.ea[i] = narrow_byte(j << 1 | 1);
|
|
2222
2460
|
break;
|
|
2223
2461
|
}
|
|
@@ -2232,21 +2470,23 @@ var move2str;
|
|
|
2232
2470
|
var std2ud;
|
|
2233
2471
|
var ud2std;
|
|
2234
2472
|
function $appendSolMove(this$static, curMove) {
|
|
2235
|
-
var axisCur
|
|
2236
|
-
|
|
2473
|
+
var axisCur;
|
|
2474
|
+
var axisLast;
|
|
2475
|
+
var pow_0;
|
|
2476
|
+
if (this$static.length_0 === 0) {
|
|
2237
2477
|
this$static.moves[this$static.length_0++] = curMove;
|
|
2238
2478
|
return;
|
|
2239
2479
|
}
|
|
2240
2480
|
axisCur = ~~(curMove / 3);
|
|
2241
2481
|
axisLast = ~~(this$static.moves[this$static.length_0 - 1] / 3);
|
|
2242
|
-
if (axisCur
|
|
2482
|
+
if (axisCur === axisLast) {
|
|
2243
2483
|
pow_0 = (curMove % 3 + this$static.moves[this$static.length_0 - 1] % 3 + 1) % 4;
|
|
2244
|
-
pow_0
|
|
2484
|
+
pow_0 === 3 ? --this$static.length_0 : this$static.moves[this$static.length_0 - 1] = axisCur * 3 + pow_0;
|
|
2245
2485
|
return;
|
|
2246
2486
|
}
|
|
2247
|
-
if (this$static.length_0 > 1 && axisCur % 3
|
|
2487
|
+
if (this$static.length_0 > 1 && axisCur % 3 === axisLast % 3 && axisCur === ~~(this$static.moves[this$static.length_0 - 2] / 3)) {
|
|
2248
2488
|
pow_0 = (curMove % 3 + this$static.moves[this$static.length_0 - 2] % 3 + 1) % 4;
|
|
2249
|
-
if (pow_0
|
|
2489
|
+
if (pow_0 === 3) {
|
|
2250
2490
|
this$static.moves[this$static.length_0 - 2] = this$static.moves[this$static.length_0 - 1];
|
|
2251
2491
|
--this$static.length_0;
|
|
2252
2492
|
} else {
|
|
@@ -2262,12 +2502,14 @@ function $setArgs(this$static, verbose, urfIdx, depth1) {
|
|
|
2262
2502
|
this$static.depth1 = depth1;
|
|
2263
2503
|
}
|
|
2264
2504
|
function $toString_2(this$static) {
|
|
2265
|
-
var s
|
|
2505
|
+
var s;
|
|
2506
|
+
var sb;
|
|
2507
|
+
var urf;
|
|
2266
2508
|
sb = new StringBuffer();
|
|
2267
|
-
urf = (this$static.verbose & 2)
|
|
2509
|
+
urf = (this$static.verbose & 2) !== 0 ? (this$static.urfIdx + 3) % 6 : this$static.urfIdx;
|
|
2268
2510
|
if (urf < 3) {
|
|
2269
2511
|
for (s = 0; s < this$static.length_0; s++) {
|
|
2270
|
-
(this$static.verbose & 1)
|
|
2512
|
+
(this$static.verbose & 1) !== 0 && s === this$static.depth1 && (sb.string += ". ", sb);
|
|
2271
2513
|
$append(
|
|
2272
2514
|
$append_1(
|
|
2273
2515
|
sb,
|
|
@@ -2283,7 +2525,7 @@ function $toString_2(this$static) {
|
|
|
2283
2525
|
($clinit_Util(), move2str)[($clinit_CubieCube(), urfMove)[urf][this$static.moves[s]]]
|
|
2284
2526
|
)
|
|
2285
2527
|
);
|
|
2286
|
-
(this$static.verbose & 1)
|
|
2528
|
+
(this$static.verbose & 1) !== 0 && s === this$static.depth1 && (sb.string += ". ", sb);
|
|
2287
2529
|
}
|
|
2288
2530
|
}
|
|
2289
2531
|
return sb.string;
|
|
@@ -2319,4 +2561,4 @@ export {
|
|
|
2319
2561
|
initialize,
|
|
2320
2562
|
solveState
|
|
2321
2563
|
};
|
|
2322
|
-
//# sourceMappingURL=search-dynamic-solve-3x3x3-
|
|
2564
|
+
//# sourceMappingURL=search-dynamic-solve-3x3x3-TSXPWENP.js.map
|