cubing 0.66.0 → 0.66.1

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.
Files changed (106) hide show
  1. package/dist/bin/chunks/{chunk-VTD7RU7S.js → chunk-HS7R54XN.js} +2 -2
  2. package/dist/bin/order.js +1 -1
  3. package/dist/bin/puzzle-geometry-bin.js +1 -1
  4. package/dist/bin/scramble.js +1 -1
  5. package/dist/bin/svg.js +1 -1
  6. package/dist/lib/cubing/alg/index.d.ts +1 -1
  7. package/dist/lib/cubing/alg/index.js +1 -2
  8. package/dist/lib/cubing/bluetooth/index.d.ts +2 -2
  9. package/dist/lib/cubing/bluetooth/index.js +5 -6
  10. package/dist/lib/cubing/chunks/{big-puzzle-orientation-KCHMEEM7.js → big-puzzle-orientation-KJL4OFV2.js} +1 -2
  11. package/dist/lib/cubing/chunks/{chunk-XAOXLHYH.js → chunk-6R47S6MP.js} +24 -25
  12. package/dist/lib/cubing/chunks/{chunk-ZCZVKGKB.js → chunk-7LEVC3YR.js} +1 -2
  13. package/dist/lib/cubing/chunks/{chunk-7GUL3OBQ.js → chunk-BHVTDDUY.js} +0 -1
  14. package/dist/lib/cubing/chunks/{chunk-JL5REGXZ.js → chunk-IIJFVP3K.js} +6 -7
  15. package/dist/lib/cubing/chunks/{chunk-6RZGNWLS.js → chunk-KH2MQ7KY.js} +2 -3
  16. package/dist/lib/cubing/chunks/{chunk-L6OQRJJX.js → chunk-LBER75W4.js} +1 -2
  17. package/dist/lib/cubing/chunks/{chunk-ZV7PYR2S.js → chunk-NJ66FRKF.js} +3 -4
  18. package/dist/lib/cubing/chunks/{chunk-CAQY24I5.js → chunk-QOLD6GH2.js} +5 -6
  19. package/dist/lib/cubing/chunks/{chunk-CFZLXDM6.js → chunk-QZK3M7IM.js} +0 -1
  20. package/dist/lib/cubing/chunks/chunk-RDKH6CDA.js +0 -0
  21. package/dist/lib/cubing/chunks/{chunk-4KLW7Y6J.js → chunk-T5M3DY5P.js} +2 -3
  22. package/dist/lib/cubing/chunks/{chunk-K237RIQJ.js → chunk-UKAXYOG2.js} +2 -3
  23. package/dist/lib/cubing/chunks/{chunk-GHFBZYSV.js → chunk-YJH5LHFN.js} +0 -1
  24. package/dist/lib/cubing/chunks/{inside-BAQGCKLY.js → inside-UWSZBO4Y.js} +14 -15
  25. package/dist/lib/cubing/chunks/{puzzles-dynamic-3x3x3-FYXD7SIU.js → puzzles-dynamic-3x3x3-CMH2HHH5.js} +0 -1
  26. package/dist/lib/cubing/chunks/{puzzles-dynamic-4x4x4-AIGABOAR.js → puzzles-dynamic-4x4x4-UFAQS3QG.js} +0 -1
  27. package/dist/lib/cubing/chunks/{puzzles-dynamic-megaminx-2LVHIDL4.js → puzzles-dynamic-megaminx-EFR4GQFA.js} +0 -1
  28. package/dist/lib/cubing/chunks/{puzzles-dynamic-side-events-653A7JCM.js → puzzles-dynamic-side-events-KF3PEOJN.js} +0 -1
  29. package/dist/lib/cubing/chunks/{puzzles-dynamic-unofficial-2CY6GVZ4.js → puzzles-dynamic-unofficial-6BF3EWTI.js} +0 -1
  30. package/dist/lib/cubing/chunks/{search-dynamic-sgs-side-events-KPAPKICT.js → search-dynamic-sgs-side-events-5GQDHSJR.js} +5 -6
  31. package/dist/lib/cubing/chunks/{search-dynamic-sgs-unofficial-WJZ2CWX5.js → search-dynamic-sgs-unofficial-YM23KVCN.js} +90 -78
  32. package/dist/lib/cubing/chunks/{search-dynamic-solve-3x3x3-B2L4IN34.js → search-dynamic-solve-3x3x3-6UMZH4WB.js} +3 -6
  33. package/dist/lib/cubing/chunks/{search-dynamic-solve-4x4x4-OLWUV6G6.js → search-dynamic-solve-4x4x4-KNSBAM7Q.js} +14 -17
  34. package/dist/lib/cubing/chunks/{search-dynamic-solve-fto-WLOW7LAM.js → search-dynamic-solve-fto-CSXJYISF.js} +200 -90
  35. package/dist/lib/cubing/chunks/{search-dynamic-solve-kilominx-KKUOVW5Y.js → search-dynamic-solve-kilominx-EHAUQJXS.js} +105 -113
  36. package/dist/lib/cubing/chunks/{search-dynamic-solve-master_tetraminx-GIS7T5B7.js → search-dynamic-solve-master_tetraminx-ZQ25QK7E.js} +99 -100
  37. package/dist/lib/cubing/chunks/search-worker-entry.js +2 -3
  38. package/dist/lib/cubing/chunks/{twips-J732JDZJ.js → twips-IMF5RNH5.js} +3 -4
  39. package/dist/lib/cubing/chunks/{twips_wasm_bg-TJNYGA2C-AP2O4LGG.js → twips_wasm_bg-TJNYGA2C-4JIZWC6Q.js} +1 -2
  40. package/dist/lib/cubing/chunks/{twisty-dynamic-3d-SFR3X64P.js → twisty-dynamic-3d-HSYJR5CM.js} +5 -6
  41. package/dist/lib/cubing/{index-Bfranlt_.d.ts → index-lAUL_nRN.d.ts} +1 -1
  42. package/dist/lib/cubing/{index-B2nOJwLe.d.ts → index-nWspzjVK.d.ts} +43 -39
  43. package/dist/lib/cubing/kpuzzle/index.d.ts +1 -1
  44. package/dist/lib/cubing/kpuzzle/index.js +2 -3
  45. package/dist/lib/cubing/notation/index.d.ts +1 -1
  46. package/dist/lib/cubing/notation/index.js +4 -5
  47. package/dist/lib/cubing/{outside-BdYfq43N.d.ts → outside-CD19aDjE.d.ts} +1 -1
  48. package/dist/lib/cubing/protocol/index.d.ts +1 -1
  49. package/dist/lib/cubing/protocol/index.js +4 -5
  50. package/dist/lib/cubing/puzzle-geometry/index.d.ts +1 -1
  51. package/dist/lib/cubing/puzzle-geometry/index.js +375 -375
  52. package/dist/lib/cubing/puzzles/index.d.ts +1 -1
  53. package/dist/lib/cubing/puzzles/index.js +4 -5
  54. package/dist/lib/cubing/scramble/index.d.ts +1 -1
  55. package/dist/lib/cubing/scramble/index.js +8 -9
  56. package/dist/lib/cubing/search/index.d.ts +1 -1
  57. package/dist/lib/cubing/search/index.js +7 -8
  58. package/dist/lib/cubing/stream/index.d.ts +1 -1
  59. package/dist/lib/cubing/stream/index.js +1 -2
  60. package/dist/lib/cubing/twisty/index.d.ts +1 -1
  61. package/dist/lib/cubing/twisty/index.js +6 -7
  62. package/package.json +1 -1
  63. package/dist/lib/cubing/alg/index.js.map +0 -7
  64. package/dist/lib/cubing/bluetooth/index.js.map +0 -7
  65. package/dist/lib/cubing/chunks/big-puzzle-orientation-KCHMEEM7.js.map +0 -7
  66. package/dist/lib/cubing/chunks/chunk-4KLW7Y6J.js.map +0 -7
  67. package/dist/lib/cubing/chunks/chunk-6RZGNWLS.js.map +0 -7
  68. package/dist/lib/cubing/chunks/chunk-7GUL3OBQ.js.map +0 -7
  69. package/dist/lib/cubing/chunks/chunk-CAQY24I5.js.map +0 -7
  70. package/dist/lib/cubing/chunks/chunk-CFZLXDM6.js.map +0 -7
  71. package/dist/lib/cubing/chunks/chunk-GHFBZYSV.js.map +0 -7
  72. package/dist/lib/cubing/chunks/chunk-JL5REGXZ.js.map +0 -7
  73. package/dist/lib/cubing/chunks/chunk-K237RIQJ.js.map +0 -7
  74. package/dist/lib/cubing/chunks/chunk-L6OQRJJX.js.map +0 -7
  75. package/dist/lib/cubing/chunks/chunk-NAPITA3L.js +0 -1
  76. package/dist/lib/cubing/chunks/chunk-NAPITA3L.js.map +0 -7
  77. package/dist/lib/cubing/chunks/chunk-XAOXLHYH.js.map +0 -7
  78. package/dist/lib/cubing/chunks/chunk-ZCZVKGKB.js.map +0 -7
  79. package/dist/lib/cubing/chunks/chunk-ZV7PYR2S.js.map +0 -7
  80. package/dist/lib/cubing/chunks/inside-BAQGCKLY.js.map +0 -7
  81. package/dist/lib/cubing/chunks/puzzles-dynamic-3x3x3-FYXD7SIU.js.map +0 -7
  82. package/dist/lib/cubing/chunks/puzzles-dynamic-4x4x4-AIGABOAR.js.map +0 -7
  83. package/dist/lib/cubing/chunks/puzzles-dynamic-megaminx-2LVHIDL4.js.map +0 -7
  84. package/dist/lib/cubing/chunks/puzzles-dynamic-side-events-653A7JCM.js.map +0 -7
  85. package/dist/lib/cubing/chunks/puzzles-dynamic-unofficial-2CY6GVZ4.js.map +0 -7
  86. package/dist/lib/cubing/chunks/search-dynamic-sgs-side-events-KPAPKICT.js.map +0 -7
  87. package/dist/lib/cubing/chunks/search-dynamic-sgs-unofficial-WJZ2CWX5.js.map +0 -7
  88. package/dist/lib/cubing/chunks/search-dynamic-solve-3x3x3-B2L4IN34.js.map +0 -7
  89. package/dist/lib/cubing/chunks/search-dynamic-solve-4x4x4-OLWUV6G6.js.map +0 -7
  90. package/dist/lib/cubing/chunks/search-dynamic-solve-fto-WLOW7LAM.js.map +0 -7
  91. package/dist/lib/cubing/chunks/search-dynamic-solve-kilominx-KKUOVW5Y.js.map +0 -7
  92. package/dist/lib/cubing/chunks/search-dynamic-solve-master_tetraminx-GIS7T5B7.js.map +0 -7
  93. package/dist/lib/cubing/chunks/search-worker-entry.js.map +0 -7
  94. package/dist/lib/cubing/chunks/twips-J732JDZJ.js.map +0 -7
  95. package/dist/lib/cubing/chunks/twips_wasm_bg-TJNYGA2C-AP2O4LGG.js.map +0 -7
  96. package/dist/lib/cubing/chunks/twisty-dynamic-3d-SFR3X64P.js.map +0 -7
  97. package/dist/lib/cubing/kpuzzle/index.js.map +0 -7
  98. package/dist/lib/cubing/notation/index.js.map +0 -7
  99. package/dist/lib/cubing/protocol/index.js.map +0 -7
  100. package/dist/lib/cubing/puzzle-geometry/index.js.map +0 -7
  101. package/dist/lib/cubing/puzzles/index.js.map +0 -7
  102. package/dist/lib/cubing/scramble/index.js.map +0 -7
  103. package/dist/lib/cubing/search/index.js.map +0 -7
  104. package/dist/lib/cubing/stream/index.js.map +0 -7
  105. package/dist/lib/cubing/twisty/index.js.map +0 -7
  106. /package/dist/bin/chunks/{chunk-VTD7RU7S.js.map → chunk-HS7R54XN.js.map} +0 -0
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  Alg
3
- } from "./chunk-CFZLXDM6.js";
3
+ } from "./chunk-QZK3M7IM.js";
4
4
 
5
- // src/cubing/vendor/mit/cs0x7f/fto/scramble_fto_standalone.js
5
+ // src/cubing/vendor/mit/cs0x7f/fto/scramble_fto_standalone.ts
6
6
  import { randomUIntBelow } from "random-uint-below";
7
7
  var DEBUG = false;
8
- var mathlib = (function() {
8
+ var mathlib = (() => {
9
9
  var fact = [1];
10
10
  for (var i = 0; i < 32; ++i) {
11
11
  fact[i + 1] = fact[i] * (i + 1);
@@ -203,7 +203,6 @@ var mathlib = (function() {
203
203
  return setMPerm(arr, idx, this.n, this.cnts.slice(), this.x);
204
204
  };
205
205
  } else {
206
- debugger;
207
206
  }
208
207
  }
209
208
  function fillFacelet(facelets, f, perm, ori, divcol) {
@@ -280,7 +279,11 @@ var mathlib = (function() {
280
279
  moveTable[m][i2] = hash2idx[newHash];
281
280
  }
282
281
  }
283
- DEBUG && console.log("[move hash] " + states.length + " states generated, tt=", +/* @__PURE__ */ new Date() - tt, JSON.stringify(depthEnds));
282
+ DEBUG && console.log(
283
+ "[move hash] " + states.length + " states generated, tt=",
284
+ +/* @__PURE__ */ new Date() - tt,
285
+ JSON.stringify(depthEnds)
286
+ );
284
287
  return [moveTable, hash2idx];
285
288
  }
286
289
  function createPrun(prun, init, size, maxd, doMove, N_MOVES, N_POWER, N_INV) {
@@ -342,16 +345,12 @@ var mathlib = (function() {
342
345
  }
343
346
  }
344
347
  function Searcher(isSolved, getPrun, doMove, N_AXIS, N_POWER, ckmv) {
345
- this.isSolved = isSolved || function() {
346
- return true;
347
- };
348
+ this.isSolved = isSolved || (() => true);
348
349
  this.getPrun = getPrun;
349
350
  this.doMove = doMove;
350
351
  this.N_AXIS = N_AXIS;
351
352
  this.N_POWER = N_POWER;
352
- this.ckmv = ckmv || valuedArray(N_AXIS, function(i2) {
353
- return 1 << i2;
354
- });
353
+ this.ckmv = ckmv || valuedArray(N_AXIS, (i2) => 1 << i2);
355
354
  }
356
355
  var _ = Searcher.prototype;
357
356
  _.solve = function(idx, minl, MAXL, callback) {
@@ -359,9 +358,7 @@ var mathlib = (function() {
359
358
  return sols == null ? null : sols[0];
360
359
  };
361
360
  _.solveMulti = function(idxs, minl, MAXL, callback) {
362
- this.callback = callback || function() {
363
- return true;
364
- };
361
+ this.callback = callback || (() => true);
365
362
  var sol = [];
366
363
  outer_loop: for (var l = minl; l <= MAXL; l++) {
367
364
  for (var s = 0; s < idxs.length; s++) {
@@ -462,7 +459,7 @@ var mathlib = (function() {
462
459
  permOriMult
463
460
  };
464
461
  })();
465
- var ftosolver = (function() {
462
+ var ftosolver = (() => {
466
463
  function FtoCubie(cp, co, ep, uf, rl) {
467
464
  this.cp = cp && cp.slice() || [0, 1, 2, 3, 4, 5];
468
465
  this.co = co && co.slice() || [0, 0, 0, 0, 0, 0];
@@ -547,7 +544,7 @@ var ftosolver = (function() {
547
544
  var f = [];
548
545
  for (var i2 = 0; i2 < 72; ++i2) {
549
546
  f[i2] = facelet[i2];
550
- count += Math.pow(16, f[i2]);
547
+ count += 16 ** f[i2];
551
548
  }
552
549
  if (count != 2576980377) {
553
550
  return -1;
@@ -597,7 +594,7 @@ var ftosolver = (function() {
597
594
  FtoCubie.prototype.toString = function(todiv) {
598
595
  var f = this.toFaceCube(todiv);
599
596
  var ret = " U8 U7 U6 U5 U4 B8 B7 B6 B5 B4\nL4 U3 U2 U1 R8 r4 B3 B2 B1 l8\nL5 L1 U0 R3 R7 r5 r1 B0 l3 l7\nL6 L2 L0 R0 R2 R6 r6 r2 r0 l0 l2 l6\nL7 L3 F0 R1 R5 r7 r3 D0 l1 l5\nL8 F1 F2 F3 R4 r8 D1 D2 D3 l4\n F4 F5 F6 F7 F8 D4 D5 D6 D7 D8";
600
- ret = ret.replace(/([UFrlDBRL])([0-8])/g, function(m, p1, p2) {
597
+ ret = ret.replace(/([UFrlDBRL])([0-8])/g, (m, p1, p2) => {
601
598
  var i2 = "UFrlDBRL".indexOf(p1) * 9 + ~~p2;
602
599
  return "UFrlDBRL"[~~(f[i2] / 9)] + f[i2] % 9;
603
600
  });
@@ -749,7 +746,12 @@ var ftosolver = (function() {
749
746
  for (var s = 0; s < 12; s++) {
750
747
  symMulM[s] = [];
751
748
  for (var j = 0; j < 8; j++) {
752
- FtoCubie.FtoMult(symCube[symMulI[0][s]], moveCube[j * 2], symCube[s], fc);
749
+ FtoCubie.FtoMult(
750
+ symCube[symMulI[0][s]],
751
+ moveCube[j * 2],
752
+ symCube[s],
753
+ fc
754
+ );
753
755
  var k = moveHash.indexOf(fc.ep.join(","));
754
756
  symMulM[s][j] = k >> 1;
755
757
  }
@@ -760,7 +762,6 @@ var ftosolver = (function() {
760
762
  FtoCubie.symMulI = symMulI;
761
763
  FtoCubie.symMulM = symMulM;
762
764
  }
763
- ;
764
765
  initMoveCube();
765
766
  function ftoPermMove(key, perm, move) {
766
767
  var ret = [];
@@ -798,7 +799,12 @@ var ftosolver = (function() {
798
799
  }
799
800
  function phase2EdgeHash(ep) {
800
801
  var edge2group = [0, 1, 2, 3, 3, 3, 0, 1, 1, 2, 2, 0];
801
- var groups = [[0, 6, 11], [1, 7, 8], [2, 9, 10], [3, 4, 5]];
802
+ var groups = [
803
+ [0, 6, 11],
804
+ [1, 7, 8],
805
+ [2, 9, 10],
806
+ [3, 4, 5]
807
+ ];
802
808
  var ret = 0;
803
809
  var egoff = [-1, -1, -1, -1];
804
810
  for (var i2 = 0; i2 < 12; i2++) {
@@ -807,7 +813,7 @@ var ftosolver = (function() {
807
813
  if (egoff[g] == -1) {
808
814
  egoff[g] = gidx;
809
815
  }
810
- ret += (g * 4 + (gidx - egoff[g] + 3) % 3) * Math.pow(16, i2);
816
+ ret += (g * 4 + (gidx - egoff[g] + 3) % 3) * 16 ** i2;
811
817
  }
812
818
  return ret;
813
819
  }
@@ -842,8 +848,16 @@ var ftosolver = (function() {
842
848
  for (var m1 = 0; m1 < moves.length; m1++) {
843
849
  ckmv[m1] = 1 << m1;
844
850
  for (var m2 = 0; m2 < m1; m2++) {
845
- FtoCubie.FtoMult(FtoCubie.moveCube[moves[m1]], FtoCubie.moveCube[moves[m2]], tmp1);
846
- FtoCubie.FtoMult(FtoCubie.moveCube[moves[m2]], FtoCubie.moveCube[moves[m1]], tmp2);
851
+ FtoCubie.FtoMult(
852
+ FtoCubie.moveCube[moves[m1]],
853
+ FtoCubie.moveCube[moves[m2]],
854
+ tmp1
855
+ );
856
+ FtoCubie.FtoMult(
857
+ FtoCubie.moveCube[moves[m2]],
858
+ FtoCubie.moveCube[moves[m1]],
859
+ tmp2
860
+ );
847
861
  if (tmp1.isEqual(tmp2)) {
848
862
  ckmv[m1] |= 1 << m2;
849
863
  }
@@ -858,36 +872,56 @@ var ftosolver = (function() {
858
872
  var solv1 = null;
859
873
  var pyraSymCube = [];
860
874
  for (var i = 0; i < 12; i++) {
861
- pyraSymCube.push(new FtoCubie(
862
- FtoCubie.symCube[i].cp,
863
- FtoCubie.symCube[i].co,
864
- null,
865
- FtoCubie.symCube[i].uf,
866
- null
867
- ));
875
+ pyraSymCube.push(
876
+ new FtoCubie(
877
+ FtoCubie.symCube[i].cp,
878
+ FtoCubie.symCube[i].co,
879
+ null,
880
+ FtoCubie.symCube[i].uf,
881
+ null
882
+ )
883
+ );
868
884
  }
869
885
  function phase1Init() {
870
886
  var fc = new FtoCubie();
871
- p1epMoves = mathlib.createMoveHash(fc.ep.slice(), phase1Moves, phase1EdgeHash, ftoPermMove.bind(null, "ep"));
872
- p1rlMoves = mathlib.createMoveHash(fc.rl.slice(), phase1Moves, phase1CtrlHash, ftoPermMove.bind(null, "rl"));
887
+ p1epMoves = mathlib.createMoveHash(
888
+ fc.ep.slice(),
889
+ phase1Moves,
890
+ phase1EdgeHash,
891
+ ftoPermMove.bind(null, "ep")
892
+ );
893
+ p1rlMoves = mathlib.createMoveHash(
894
+ fc.rl.slice(),
895
+ phase1Moves,
896
+ phase1CtrlHash,
897
+ ftoPermMove.bind(null, "rl")
898
+ );
873
899
  var N_P1EP = p1epMoves[0][0].length;
874
900
  var N_P1RL = p1rlMoves[0][0].length;
875
901
  DEBUG && console.log("p1ep len=" + N_P1EP + " p1rl len=" + N_P1RL);
876
902
  ckmv1 = genCkmv(phase1Moves);
877
903
  var p1eprlPrun = [];
878
- mathlib.createPrun(p1eprlPrun, 0, N_P1EP * N_P1RL, 14, function(idx, move) {
879
- var rl = ~~(idx / N_P1EP);
880
- var ep = idx % N_P1EP;
881
- return p1rlMoves[0][move][rl] * N_P1EP + p1epMoves[0][move][ep];
882
- }, phase1Moves.length, 2);
883
- solv1 = new mathlib.Searcher(null, function(idx) {
884
- return mathlib.getPruning(p1eprlPrun, idx[1] * N_P1EP + idx[0]);
885
- }, function(idx, move) {
886
- return [
887
- p1epMoves[0][move][idx[0]],
888
- p1rlMoves[0][move][idx[1]]
889
- ];
890
- }, 8, 2, ckmv1);
904
+ mathlib.createPrun(
905
+ p1eprlPrun,
906
+ 0,
907
+ N_P1EP * N_P1RL,
908
+ 14,
909
+ (idx, move) => {
910
+ var rl = ~~(idx / N_P1EP);
911
+ var ep = idx % N_P1EP;
912
+ return p1rlMoves[0][move][rl] * N_P1EP + p1epMoves[0][move][ep];
913
+ },
914
+ phase1Moves.length,
915
+ 2
916
+ );
917
+ solv1 = new mathlib.Searcher(
918
+ null,
919
+ (idx) => mathlib.getPruning(p1eprlPrun, idx[1] * N_P1EP + idx[0]),
920
+ (idx, move) => [p1epMoves[0][move][idx[0]], p1rlMoves[0][move][idx[1]]],
921
+ 8,
922
+ 2,
923
+ ckmv1
924
+ );
891
925
  }
892
926
  function phase1GenIdxs(fc) {
893
927
  var idxs = [];
@@ -943,7 +977,7 @@ var ftosolver = (function() {
943
977
  var syms = idxs[1];
944
978
  idxs = idxs[0];
945
979
  var p1sols = [];
946
- var sol1s = solv1.solveMulti(idxs, 0, 12, function(sol, sidx) {
980
+ var sol1s = solv1.solveMulti(idxs, 0, 12, (sol, sidx) => {
947
981
  var param = phase1ProcSol(sol.slice(), syms[sidx].slice(), fc);
948
982
  p1sols.push(param);
949
983
  return p1sols.length >= N_PHASE1_SOLS;
@@ -1012,9 +1046,24 @@ var ftosolver = (function() {
1012
1046
  }
1013
1047
  function phase2Init() {
1014
1048
  var fc = new FtoCubie();
1015
- p2epMoves = mathlib.createMoveHash(fc.ep.slice(), phase2Moves, phase2EdgeHash, ftoPermMove.bind(null, "ep"));
1016
- p2rlMoves = mathlib.createMoveHash(fc.rl.slice(), phase2Moves, phase2CtHash, ftoPermMove.bind(null, "rl"));
1017
- p2ccMoves = mathlib.createMoveHash(fc, phase2Moves, phase2CpcoHash, ftoFullMove);
1049
+ p2epMoves = mathlib.createMoveHash(
1050
+ fc.ep.slice(),
1051
+ phase2Moves,
1052
+ phase2EdgeHash,
1053
+ ftoPermMove.bind(null, "ep")
1054
+ );
1055
+ p2rlMoves = mathlib.createMoveHash(
1056
+ fc.rl.slice(),
1057
+ phase2Moves,
1058
+ phase2CtHash,
1059
+ ftoPermMove.bind(null, "rl")
1060
+ );
1061
+ p2ccMoves = mathlib.createMoveHash(
1062
+ fc,
1063
+ phase2Moves,
1064
+ phase2CpcoHash,
1065
+ ftoFullMove
1066
+ );
1018
1067
  var arr = [];
1019
1068
  var arr2 = [];
1020
1069
  var p2ufMoveStd = [[], [], [], [], []];
@@ -1123,32 +1172,48 @@ var ftosolver = (function() {
1123
1172
  var N_P2EP = p2epMoves[0][0].length;
1124
1173
  var N_P2RL = p2rlMoves[0][0].length;
1125
1174
  var p2eprlPrun = [];
1126
- mathlib.createPrun(p2eprlPrun, 0, N_P2EP * N_P2RL, P2EPRL_MAXL - 2, function(idx2, move) {
1127
- var rl = ~~(idx2 / N_P2EP);
1128
- var ep = idx2 % N_P2EP;
1129
- return p2rlMoves[0][move][rl] * N_P2EP + p2epMoves[0][move][ep];
1130
- }, phase2Moves.length, 2);
1175
+ mathlib.createPrun(
1176
+ p2eprlPrun,
1177
+ 0,
1178
+ N_P2EP * N_P2RL,
1179
+ P2EPRL_MAXL - 2,
1180
+ (idx2, move) => {
1181
+ var rl = ~~(idx2 / N_P2EP);
1182
+ var ep = idx2 % N_P2EP;
1183
+ return p2rlMoves[0][move][rl] * N_P2EP + p2epMoves[0][move][ep];
1184
+ },
1185
+ phase2Moves.length,
1186
+ 2
1187
+ );
1131
1188
  ckmv2 = genCkmv(phase2Moves);
1132
- solv2 = new mathlib.Searcher(function(idx2) {
1133
- return ufStd2Bit[idx2[3] >> 4] == cc2Bit[p2ccRecol[idx2[3] & 15][idx2[2]]];
1134
- }, function(idx2) {
1135
- var xors = ufStd2Bit[idx2[3] >> 4] ^ cc2Bit[p2ccRecol[idx2[3] & 15][idx2[2]]];
1136
- xors = (xors | xors >> 1) & 5592405;
1137
- var necIdx = mathlib.bitCount(xors & 12632319) * 7 + mathlib.bitCount(xors & 4144896);
1138
- return Math.max(
1139
- Math.min(P2EPRL_MAXL, mathlib.getPruning(p2eprlPrun, idx2[1] * N_P2EP + idx2[0])),
1140
- p2necPrun[necIdx]
1141
- );
1142
- }, function(idx2, move) {
1143
- var ufidx1 = p2ufMoveStd[move][idx2[3] >> 4];
1144
- var ufcol = FtoCubie.symMult[ufidx1 & 15][idx2[3] & 15];
1145
- return [
1146
- p2epMoves[0][move][idx2[0]],
1147
- p2rlMoves[0][move][idx2[1]],
1148
- p2ccMoves[0][move][idx2[2]],
1149
- ufidx1 & ~15 | ufcol
1150
- ];
1151
- }, phase2Moves.length, 2, ckmv2);
1189
+ solv2 = new mathlib.Searcher(
1190
+ (idx2) => ufStd2Bit[idx2[3] >> 4] == cc2Bit[p2ccRecol[idx2[3] & 15][idx2[2]]],
1191
+ (idx2) => {
1192
+ var xors = ufStd2Bit[idx2[3] >> 4] ^ cc2Bit[p2ccRecol[idx2[3] & 15][idx2[2]]];
1193
+ xors = (xors | xors >> 1) & 5592405;
1194
+ var necIdx = mathlib.bitCount(xors & 12632319) * 7 + mathlib.bitCount(xors & 4144896);
1195
+ return Math.max(
1196
+ Math.min(
1197
+ P2EPRL_MAXL,
1198
+ mathlib.getPruning(p2eprlPrun, idx2[1] * N_P2EP + idx2[0])
1199
+ ),
1200
+ p2necPrun[necIdx]
1201
+ );
1202
+ },
1203
+ (idx2, move) => {
1204
+ var ufidx1 = p2ufMoveStd[move][idx2[3] >> 4];
1205
+ var ufcol = FtoCubie.symMult[ufidx1 & 15][idx2[3] & 15];
1206
+ return [
1207
+ p2epMoves[0][move][idx2[0]],
1208
+ p2rlMoves[0][move][idx2[1]],
1209
+ p2ccMoves[0][move][idx2[2]],
1210
+ ufidx1 & ~15 | ufcol
1211
+ ];
1212
+ },
1213
+ phase2Moves.length,
1214
+ 2,
1215
+ ckmv2
1216
+ );
1152
1217
  }
1153
1218
  function solvePhase2(solvInfos) {
1154
1219
  if (!solv2) {
@@ -1185,21 +1250,34 @@ var ftosolver = (function() {
1185
1250
  var solv3 = null;
1186
1251
  function phase3Init() {
1187
1252
  var fc = new FtoCubie();
1188
- p3epMoves = mathlib.createMoveHash(fc.ep.slice(), phase3Moves, phase3EdgeHash, ftoPermMove.bind(null, "ep"));
1189
- p3ufMoves = mathlib.createMoveHash(new FtoCubie(), phase3Moves, phase3CcufHash, ftoFullMove);
1253
+ p3epMoves = mathlib.createMoveHash(
1254
+ fc.ep.slice(),
1255
+ phase3Moves,
1256
+ phase3EdgeHash,
1257
+ ftoPermMove.bind(null, "ep")
1258
+ );
1259
+ p3ufMoves = mathlib.createMoveHash(
1260
+ new FtoCubie(),
1261
+ phase3Moves,
1262
+ phase3CcufHash,
1263
+ ftoFullMove
1264
+ );
1190
1265
  p3epPrun = [];
1191
1266
  p3ufPrun = [];
1192
1267
  mathlib.createPrun(p3epPrun, 0, 81, 14, p3epMoves[0], 4, 2);
1193
1268
  mathlib.createPrun(p3ufPrun, 0, 11520, 14, p3ufMoves[0], 4, 2);
1194
1269
  ckmv3 = genCkmv(phase3Moves);
1195
- solv3 = new mathlib.Searcher(null, function(idx) {
1196
- return Math.max(
1270
+ solv3 = new mathlib.Searcher(
1271
+ null,
1272
+ (idx) => Math.max(
1197
1273
  mathlib.getPruning(p3epPrun, idx[0]),
1198
1274
  mathlib.getPruning(p3ufPrun, idx[1])
1199
- );
1200
- }, function(idx, move) {
1201
- return [p3epMoves[0][move][idx[0]], p3ufMoves[0][move][idx[1]]];
1202
- }, 4, 2, ckmv3);
1275
+ ),
1276
+ (idx, move) => [p3epMoves[0][move][idx[0]], p3ufMoves[0][move][idx[1]]],
1277
+ 4,
1278
+ 2,
1279
+ ckmv3
1280
+ );
1203
1281
  }
1204
1282
  function solvePhase3(solvInfo) {
1205
1283
  var fc = solvInfo[0];
@@ -1244,7 +1322,24 @@ var ftosolver = (function() {
1244
1322
  }
1245
1323
  return fc;
1246
1324
  }
1247
- var move2str = ["U", "U'", "F", "F'", "r", "r'", "l", "l'", "D", "D'", "B", "B'", "R", "R'", "L", "L'"];
1325
+ var move2str = [
1326
+ "U",
1327
+ "U'",
1328
+ "F",
1329
+ "F'",
1330
+ "r",
1331
+ "r'",
1332
+ "l",
1333
+ "l'",
1334
+ "D",
1335
+ "D'",
1336
+ "B",
1337
+ "B'",
1338
+ "R",
1339
+ "R'",
1340
+ "L",
1341
+ "L'"
1342
+ ];
1248
1343
  function prettyMoves(moves) {
1249
1344
  var buf = [];
1250
1345
  for (var i2 = 0; i2 < moves.length; i2++) {
@@ -1270,7 +1365,11 @@ var ftosolver = (function() {
1270
1365
  var sym1Idx = solvInfo1[2];
1271
1366
  this.sol2 = solvInfo2[1].slice();
1272
1367
  this.tt2 = solvInfo2[5];
1273
- solvInfo2[0] = FtoCubie.FtoMult(pyraSymCube[FtoCubie.symMulI[0][~~(sym1Idx / 12)]], solvInfo2[0], null);
1368
+ solvInfo2[0] = FtoCubie.FtoMult(
1369
+ pyraSymCube[FtoCubie.symMulI[0][~~(sym1Idx / 12)]],
1370
+ solvInfo2[0],
1371
+ null
1372
+ );
1274
1373
  var solvInfo3 = solvePhase3(solvInfo2);
1275
1374
  this.sol3 = solvInfo3[1].slice();
1276
1375
  this.tt3 = solvInfo3[4];
@@ -1285,17 +1384,29 @@ var ftosolver = (function() {
1285
1384
  };
1286
1385
  var solver = new FtoSolver();
1287
1386
  function solveTest(n_moves) {
1288
- var solvInfo = randomMoves([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], n_moves);
1387
+ var solvInfo = randomMoves(
1388
+ [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
1389
+ n_moves
1390
+ );
1289
1391
  var scramble = prettyMoves(solvInfo[1].slice());
1290
1392
  var solution = solver.solveFto(solvInfo[0]);
1291
1393
  var fc = solvInfo[0];
1292
1394
  DEBUG && console.log("scrambled state\n", fc.toString(1));
1293
1395
  fc = applyMoves(fc, solver.sol1);
1294
- DEBUG && console.log("after phase 1 (" + prettyMoves(solver.sol1) + "):\n", fc.toString(1));
1396
+ DEBUG && console.log(
1397
+ "after phase 1 (" + prettyMoves(solver.sol1) + "):\n",
1398
+ fc.toString(1)
1399
+ );
1295
1400
  fc = applyMoves(fc, solver.sol2);
1296
- DEBUG && console.log("after phase 2 (" + prettyMoves(solver.sol2) + "):\n", fc.toString(1));
1401
+ DEBUG && console.log(
1402
+ "after phase 2 (" + prettyMoves(solver.sol2) + "):\n",
1403
+ fc.toString(1)
1404
+ );
1297
1405
  fc = applyMoves(fc, solver.sol3);
1298
- DEBUG && console.log("after phase 3 (" + prettyMoves(solver.sol3) + "):\n", fc.toString(1));
1406
+ DEBUG && console.log(
1407
+ "after phase 3 (" + prettyMoves(solver.sol3) + "):\n",
1408
+ fc.toString(1)
1409
+ );
1299
1410
  var facelets = fc.toFaceCube();
1300
1411
  var isSolved = true;
1301
1412
  outer_loop: for (var i2 = 0; i2 < 8; i2++) {
@@ -1350,7 +1461,7 @@ var ftosolver = (function() {
1350
1461
  testbench
1351
1462
  };
1352
1463
  })();
1353
- var fto_scrambler = (function() {
1464
+ var fto_scrambler = (() => {
1354
1465
  function getRandomScramble(solvedEdge, solvedCenter, solvedCorner) {
1355
1466
  var fc = new ftosolver.FtoCubie();
1356
1467
  if (!solvedEdge) {
@@ -1402,4 +1513,3 @@ function getRandomFTOScramble() {
1402
1513
  export {
1403
1514
  getRandomFTOScramble
1404
1515
  };
1405
- //# sourceMappingURL=search-dynamic-solve-fto-WLOW7LAM.js.map