@renju-note/quintet 0.6.1 → 0.9.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 CHANGED
@@ -5,38 +5,36 @@ Renju mate solver compilable to WebAssemby
5
5
  ## Run
6
6
 
7
7
  ```
8
- $ cargo run --release --example solve
9
- Finished release [optimized] target(s) in 0.01s
10
- Running `target/release/examples/solve`
8
+ $ cargo build --release --example solve_vcf
11
9
 
12
- Board code (blacks/whites):
13
- H8,F6,I7,G6,F8,F9,E7,H4,J6,J4,J5,J8,I4,K6,L6,I2,L5,M7,I8,K8,D5,F4,H3,E2,J11,G11,E10,F13,B11,D12/H7,G7,G9,H6,E8,F7,D6,G5,I5,K5,J3,J7,K4,L7,M6,N7,K7,G4,G8,L8,E4,F3,G2,I10,F11,D9,E12,C10,C12
10
+ $ ./target/release/examples/solve_vcf x H8,H7,F6,G7,I7,G9,G6,H6,F8,E8,F9,F7,E7,D6,H4,G5,J6,I5,J4,K5,J5,J3,J8,J7,I4,K4,K6,L7,L6,M6,I2,N7,L5,K7,M7,G4,I8,G8,K8,L8,D5,E4,F4,F3,H3,G2,
11
+ E2,I10,J11,F11,G11,D9,E10,E12,F13,C10,B11,C12,D12
12
+ Player: White
14
13
 
15
14
  Board:
16
- ---------------
17
- ---------------
18
- -----o---------
19
- --xox----------
20
- -o---xo--o-----
21
- --x-o---x------
22
- ---x-ox--------
23
- ----xoxoooox---
24
- ----oxxxoxxxox-
25
- ---x-oox-ooox--
26
- ---o--x-xoxo---
27
- ----xoxooox----
28
- -----x-o-x-----
29
- ----o-x-o------
30
- ---------------
31
-
32
- Black VCF:
33
- None
34
- Elapsed: 236.429µs
35
-
36
- White VCF:
37
- 8 moves
38
- G1,G3,E6,H9,H5,I6,F5,E5,C8,D7,C11,C9,C14,C13,D13
39
- Elapsed: 945.527µs
15
+
16
+ 15 . . . . . . . . . . . . . . .
17
+ 14 . . . . . . . . . . . . . . .
18
+ 13 . . . . . o . . . . . . . . .
19
+ 12 . . x o x . . . . . . . . . .
20
+ 11 . o . . . x o . . o . . . . .
21
+ 10 . . x . o . . . x . . . . . .
22
+ 9 . . . x . o x . . . . . . . .
23
+ 8 . . . . x o x o o o o x . . .
24
+ 7 . . . . o x x x o x x x o x .
25
+ 6 . . . x . o o x . o o o x . .
26
+ 5 . . . o . . x . x o x o . . .
27
+ 4 . . . . x o x o o o x . . . .
28
+ 3 . . . . . x . o . x . . . . .
29
+ 2 . . . . o . x . o . . . . . .
30
+ 1 . . . . . . . . . . . . . . .
31
+ A B C D E F G H I J K L M N O
32
+
33
+ Solving...
34
+
35
+ Elapsed: 1.414262ms
36
+ 7 times
37
+ H5,I6,E6,H9,F5,E5,C8,D7,C11,C9,C14,C13,D13
40
38
  ```
41
39
 
42
40
  ## Release
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "yubessy <yubessy0@gmail.com>"
5
5
  ],
6
6
  "description": "Renju mate solver compilable to WebAssemby",
7
- "version": "0.6.1",
7
+ "version": "0.9.0",
8
8
  "license": "MIT",
9
9
  "repository": {
10
10
  "type": "git",
package/quintet.d.ts CHANGED
@@ -4,10 +4,18 @@
4
4
  * @param {Uint8Array} blacks
5
5
  * @param {Uint8Array} whites
6
6
  * @param {boolean} black
7
- * @param {number} depth_limit
7
+ * @param {number} max_depth
8
8
  * @returns {Uint8Array | undefined}
9
9
  */
10
- export function solve_vcf(blacks: Uint8Array, whites: Uint8Array, black: boolean, depth_limit: number): Uint8Array | undefined;
10
+ export function solve_vcf(blacks: Uint8Array, whites: Uint8Array, black: boolean, max_depth: number): Uint8Array | undefined;
11
+ /**
12
+ * @param {Uint8Array} blacks
13
+ * @param {Uint8Array} whites
14
+ * @param {boolean} black
15
+ * @param {number} max_depth
16
+ * @returns {Uint8Array | undefined}
17
+ */
18
+ export function solve_vct(blacks: Uint8Array, whites: Uint8Array, black: boolean, max_depth: number): Uint8Array | undefined;
11
19
  /**
12
20
  * @param {number} x
13
21
  * @param {number} y
package/quintet_bg.js CHANGED
@@ -32,17 +32,45 @@ function getArrayU8FromWasm0(ptr, len) {
32
32
  * @param {Uint8Array} blacks
33
33
  * @param {Uint8Array} whites
34
34
  * @param {boolean} black
35
- * @param {number} depth_limit
35
+ * @param {number} max_depth
36
36
  * @returns {Uint8Array | undefined}
37
37
  */
38
- export function solve_vcf(blacks, whites, black, depth_limit) {
38
+ export function solve_vcf(blacks, whites, black, max_depth) {
39
39
  try {
40
40
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
41
41
  var ptr0 = passArray8ToWasm0(blacks, wasm.__wbindgen_malloc);
42
42
  var len0 = WASM_VECTOR_LEN;
43
43
  var ptr1 = passArray8ToWasm0(whites, wasm.__wbindgen_malloc);
44
44
  var len1 = WASM_VECTOR_LEN;
45
- wasm.solve_vcf(retptr, ptr0, len0, ptr1, len1, black, depth_limit);
45
+ wasm.solve_vcf(retptr, ptr0, len0, ptr1, len1, black, max_depth);
46
+ var r0 = getInt32Memory0()[retptr / 4 + 0];
47
+ var r1 = getInt32Memory0()[retptr / 4 + 1];
48
+ let v2;
49
+ if (r0 !== 0) {
50
+ v2 = getArrayU8FromWasm0(r0, r1).slice();
51
+ wasm.__wbindgen_free(r0, r1 * 1);
52
+ }
53
+ return v2;
54
+ } finally {
55
+ wasm.__wbindgen_add_to_stack_pointer(16);
56
+ }
57
+ }
58
+
59
+ /**
60
+ * @param {Uint8Array} blacks
61
+ * @param {Uint8Array} whites
62
+ * @param {boolean} black
63
+ * @param {number} max_depth
64
+ * @returns {Uint8Array | undefined}
65
+ */
66
+ export function solve_vct(blacks, whites, black, max_depth) {
67
+ try {
68
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
69
+ var ptr0 = passArray8ToWasm0(blacks, wasm.__wbindgen_malloc);
70
+ var len0 = WASM_VECTOR_LEN;
71
+ var ptr1 = passArray8ToWasm0(whites, wasm.__wbindgen_malloc);
72
+ var len1 = WASM_VECTOR_LEN;
73
+ wasm.solve_vct(retptr, ptr0, len0, ptr1, len1, black, max_depth);
46
74
  var r0 = getInt32Memory0()[retptr / 4 + 0];
47
75
  var r1 = getInt32Memory0()[retptr / 4 + 1];
48
76
  let v2;
package/quintet_bg.wasm CHANGED
Binary file