@renju-note/quintet 0.9.2 → 0.10.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.
- package/README.md +18 -18
- package/package.json +1 -1
- package/quintet.d.ts +16 -6
- package/quintet_bg.js +39 -9
- package/quintet_bg.wasm +0 -0
package/README.md
CHANGED
|
@@ -7,14 +7,14 @@ Renju mate solver compilable to WebAssemby
|
|
|
7
7
|
### VCF
|
|
8
8
|
|
|
9
9
|
```
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
E2,I10,J11,F11,G11,D9,E10,E12,F13,C10,B11,C12,D12
|
|
10
|
+
% cargo run --release --example solve vcf 10 x \
|
|
11
|
+
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,E2,I10,J11,F11,G11,D9,E10,E12,F13,C10,B11,C12,D12
|
|
12
|
+
Finished release [optimized] target(s) in 0.00s
|
|
13
|
+
Running `target/release/examples/solve vcf 10 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,E2,I10,J11,F11,G11,D9,E10,E12,F13,C10,B11,C12,D12`
|
|
14
|
+
Kind: VCF
|
|
15
|
+
MaxDepth: 10
|
|
14
16
|
Player: White
|
|
15
|
-
|
|
16
17
|
Board:
|
|
17
|
-
|
|
18
18
|
15 . . . . . . . . . . . . . . .
|
|
19
19
|
14 . . . . . . . . . . . . . . .
|
|
20
20
|
13 . . . . . o . . . . . . . . .
|
|
@@ -34,22 +34,22 @@ Board:
|
|
|
34
34
|
|
|
35
35
|
Solving...
|
|
36
36
|
|
|
37
|
-
Elapsed:
|
|
38
|
-
|
|
39
|
-
|
|
37
|
+
Elapsed: 45.041µs
|
|
38
|
+
Depth: 8
|
|
39
|
+
Solution: G1,G3,E6,H9,H5,I6,F5,E5,C8,D7,C11,C9,C14,C13,D13
|
|
40
40
|
```
|
|
41
41
|
|
|
42
42
|
### VCT
|
|
43
43
|
|
|
44
44
|
```
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
G6,E6,D5,F5,G4
|
|
45
|
+
% cargo run --release --example solve vct_dfpn 255 x \
|
|
46
|
+
H8,I9,H7,J8,F8,H9,G9,H10,G11,F10,I10,G10,I8,J9,E10,K9,L9,G8,J10,K7,L6,K8,K6,L10,I7,J6,M9,I5,H4,F7,G6,E6,D5,F5,G4
|
|
47
|
+
Finished release [optimized] target(s) in 0.03s
|
|
48
|
+
Running `target/release/examples/solve vct_dfpn 255 x H8,I9,H7,J8,F8,H9,G9,H10,G11,F10,I10,G10,I8,J9,E10,K9,L9,G8,J10,K7,L6,K8,K6,L10,I7,J6,M9,I5,H4,F7,G6,E6,D5,F5,G4`
|
|
49
|
+
Kind: VCTDFPN
|
|
50
|
+
MaxDepth: 255
|
|
49
51
|
Player: White
|
|
50
|
-
|
|
51
52
|
Board:
|
|
52
|
-
|
|
53
53
|
15 . . . . . . . . . . . . . . .
|
|
54
54
|
14 . . . . . . . . . . . . . . .
|
|
55
55
|
13 . . . . . . . . . . . . . . .
|
|
@@ -69,9 +69,9 @@ Board:
|
|
|
69
69
|
|
|
70
70
|
Solving...
|
|
71
71
|
|
|
72
|
-
Elapsed:
|
|
73
|
-
|
|
74
|
-
K11,K10,N12,M11,N8,H5,H6,L8,J5,J7,M5,L4,M6,K5,N5,
|
|
72
|
+
Elapsed: 2.370459s
|
|
73
|
+
Depth: 17
|
|
74
|
+
Solution: K11,K10,N12,M11,N8,H5,H6,L8,J5,J7,M5,L4,M6,K5,N7,N5,M4,M7,J4,I6,F3,M8,M10,I12,J11,K3,K4,J3,O8,L5,M2,M3,N1
|
|
75
75
|
```
|
|
76
76
|
|
|
77
77
|
Original game: https://www.renju.net/media/games.php?gameid=92337
|
package/package.json
CHANGED
package/quintet.d.ts
CHANGED
|
@@ -1,29 +1,39 @@
|
|
|
1
1
|
/* tslint:disable */
|
|
2
2
|
/* eslint-disable */
|
|
3
3
|
/**
|
|
4
|
+
* @param {number} mode
|
|
5
|
+
* @param {number} limit
|
|
4
6
|
* @param {Uint8Array} blacks
|
|
5
7
|
* @param {Uint8Array} whites
|
|
6
8
|
* @param {boolean} black
|
|
7
|
-
* @param {number}
|
|
9
|
+
* @param {number} threat_limit
|
|
8
10
|
* @returns {Uint8Array | undefined}
|
|
9
11
|
*/
|
|
10
|
-
export function
|
|
12
|
+
export function solve(mode: number, limit: number, blacks: Uint8Array, whites: Uint8Array, black: boolean, threat_limit: number): Uint8Array | undefined;
|
|
11
13
|
/**
|
|
12
14
|
* @param {Uint8Array} blacks
|
|
13
15
|
* @param {Uint8Array} whites
|
|
14
16
|
* @param {boolean} black
|
|
15
|
-
* @param {number}
|
|
17
|
+
* @param {number} limit
|
|
16
18
|
* @returns {Uint8Array | undefined}
|
|
17
19
|
*/
|
|
18
|
-
export function
|
|
20
|
+
export function solve_vcf(blacks: Uint8Array, whites: Uint8Array, black: boolean, limit: number): Uint8Array | undefined;
|
|
19
21
|
/**
|
|
20
22
|
* @param {Uint8Array} blacks
|
|
21
23
|
* @param {Uint8Array} whites
|
|
22
24
|
* @param {boolean} black
|
|
23
|
-
* @param {number}
|
|
25
|
+
* @param {number} limit
|
|
24
26
|
* @returns {Uint8Array | undefined}
|
|
25
27
|
*/
|
|
26
|
-
export function
|
|
28
|
+
export function solve_vct(blacks: Uint8Array, whites: Uint8Array, black: boolean, limit: number): Uint8Array | undefined;
|
|
29
|
+
/**
|
|
30
|
+
* @param {Uint8Array} blacks
|
|
31
|
+
* @param {Uint8Array} whites
|
|
32
|
+
* @param {boolean} black
|
|
33
|
+
* @param {number} limit
|
|
34
|
+
* @returns {Uint8Array | undefined}
|
|
35
|
+
*/
|
|
36
|
+
export function solve_vct_dfpn(blacks: Uint8Array, whites: Uint8Array, black: boolean, limit: number): Uint8Array | undefined;
|
|
27
37
|
/**
|
|
28
38
|
* @param {number} x
|
|
29
39
|
* @param {number} y
|
package/quintet_bg.js
CHANGED
|
@@ -29,20 +29,22 @@ function getArrayU8FromWasm0(ptr, len) {
|
|
|
29
29
|
return getUint8Memory0().subarray(ptr / 1, ptr / 1 + len);
|
|
30
30
|
}
|
|
31
31
|
/**
|
|
32
|
+
* @param {number} mode
|
|
33
|
+
* @param {number} limit
|
|
32
34
|
* @param {Uint8Array} blacks
|
|
33
35
|
* @param {Uint8Array} whites
|
|
34
36
|
* @param {boolean} black
|
|
35
|
-
* @param {number}
|
|
37
|
+
* @param {number} threat_limit
|
|
36
38
|
* @returns {Uint8Array | undefined}
|
|
37
39
|
*/
|
|
38
|
-
export function
|
|
40
|
+
export function solve(mode, limit, blacks, whites, black, threat_limit) {
|
|
39
41
|
try {
|
|
40
42
|
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
41
43
|
var ptr0 = passArray8ToWasm0(blacks, wasm.__wbindgen_malloc);
|
|
42
44
|
var len0 = WASM_VECTOR_LEN;
|
|
43
45
|
var ptr1 = passArray8ToWasm0(whites, wasm.__wbindgen_malloc);
|
|
44
46
|
var len1 = WASM_VECTOR_LEN;
|
|
45
|
-
wasm.
|
|
47
|
+
wasm.solve(retptr, mode, limit, ptr0, len0, ptr1, len1, black, threat_limit);
|
|
46
48
|
var r0 = getInt32Memory0()[retptr / 4 + 0];
|
|
47
49
|
var r1 = getInt32Memory0()[retptr / 4 + 1];
|
|
48
50
|
let v2;
|
|
@@ -60,17 +62,17 @@ export function solve_vcf(blacks, whites, black, max_depth) {
|
|
|
60
62
|
* @param {Uint8Array} blacks
|
|
61
63
|
* @param {Uint8Array} whites
|
|
62
64
|
* @param {boolean} black
|
|
63
|
-
* @param {number}
|
|
65
|
+
* @param {number} limit
|
|
64
66
|
* @returns {Uint8Array | undefined}
|
|
65
67
|
*/
|
|
66
|
-
export function
|
|
68
|
+
export function solve_vcf(blacks, whites, black, limit) {
|
|
67
69
|
try {
|
|
68
70
|
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
69
71
|
var ptr0 = passArray8ToWasm0(blacks, wasm.__wbindgen_malloc);
|
|
70
72
|
var len0 = WASM_VECTOR_LEN;
|
|
71
73
|
var ptr1 = passArray8ToWasm0(whites, wasm.__wbindgen_malloc);
|
|
72
74
|
var len1 = WASM_VECTOR_LEN;
|
|
73
|
-
wasm.
|
|
75
|
+
wasm.solve_vcf(retptr, ptr0, len0, ptr1, len1, black, limit);
|
|
74
76
|
var r0 = getInt32Memory0()[retptr / 4 + 0];
|
|
75
77
|
var r1 = getInt32Memory0()[retptr / 4 + 1];
|
|
76
78
|
let v2;
|
|
@@ -88,17 +90,45 @@ export function solve_vct(blacks, whites, black, max_depth) {
|
|
|
88
90
|
* @param {Uint8Array} blacks
|
|
89
91
|
* @param {Uint8Array} whites
|
|
90
92
|
* @param {boolean} black
|
|
91
|
-
* @param {number}
|
|
93
|
+
* @param {number} limit
|
|
92
94
|
* @returns {Uint8Array | undefined}
|
|
93
95
|
*/
|
|
94
|
-
export function
|
|
96
|
+
export function solve_vct(blacks, whites, black, limit) {
|
|
95
97
|
try {
|
|
96
98
|
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
97
99
|
var ptr0 = passArray8ToWasm0(blacks, wasm.__wbindgen_malloc);
|
|
98
100
|
var len0 = WASM_VECTOR_LEN;
|
|
99
101
|
var ptr1 = passArray8ToWasm0(whites, wasm.__wbindgen_malloc);
|
|
100
102
|
var len1 = WASM_VECTOR_LEN;
|
|
101
|
-
wasm.
|
|
103
|
+
wasm.solve_vct(retptr, ptr0, len0, ptr1, len1, black, limit);
|
|
104
|
+
var r0 = getInt32Memory0()[retptr / 4 + 0];
|
|
105
|
+
var r1 = getInt32Memory0()[retptr / 4 + 1];
|
|
106
|
+
let v2;
|
|
107
|
+
if (r0 !== 0) {
|
|
108
|
+
v2 = getArrayU8FromWasm0(r0, r1).slice();
|
|
109
|
+
wasm.__wbindgen_free(r0, r1 * 1);
|
|
110
|
+
}
|
|
111
|
+
return v2;
|
|
112
|
+
} finally {
|
|
113
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
/**
|
|
118
|
+
* @param {Uint8Array} blacks
|
|
119
|
+
* @param {Uint8Array} whites
|
|
120
|
+
* @param {boolean} black
|
|
121
|
+
* @param {number} limit
|
|
122
|
+
* @returns {Uint8Array | undefined}
|
|
123
|
+
*/
|
|
124
|
+
export function solve_vct_dfpn(blacks, whites, black, limit) {
|
|
125
|
+
try {
|
|
126
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
127
|
+
var ptr0 = passArray8ToWasm0(blacks, wasm.__wbindgen_malloc);
|
|
128
|
+
var len0 = WASM_VECTOR_LEN;
|
|
129
|
+
var ptr1 = passArray8ToWasm0(whites, wasm.__wbindgen_malloc);
|
|
130
|
+
var len1 = WASM_VECTOR_LEN;
|
|
131
|
+
wasm.solve_vct_dfpn(retptr, ptr0, len0, ptr1, len1, black, limit);
|
|
102
132
|
var r0 = getInt32Memory0()[retptr / 4 + 0];
|
|
103
133
|
var r1 = getInt32Memory0()[retptr / 4 + 1];
|
|
104
134
|
let v2;
|
package/quintet_bg.wasm
CHANGED
|
Binary file
|