libchai 0.1.8 → 0.1.10

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
@@ -1,6 +1,6 @@
1
1
  # chai: 汉字自动拆分系统[命令行版]
2
2
 
3
- `chai` 是一个使用 Rust 编写的命令行程序。用户提供拆分表以及方案配置文件,本程序能够生成单字、词组的编码并评测一系列指标,以及基于退火算法优化元素的布局。
3
+ `chai` 是一个使用 Rust 编写的命令行程序。用户提供拆分表以及方案配置文件,本程序能够生成编码并评测一系列指标,以及基于退火算法优化元素的布局。
4
4
 
5
5
  ## 使用
6
6
 
@@ -18,26 +18,19 @@
18
18
 
19
19
  压缩包中有以下的示例文件:
20
20
 
21
- - `config.yaml`: 方案文件(米十五笔),具体的格式解释参见 [config.md](./config.md);这个文件也可以由[汉字自动拆分系统](https://chaifen.app/)生成;
21
+ - `config.yaml`: 方案文件(米十五笔),具体的格式解释参见 [config.md](https://github.com/hanzi-chai/docs/blob/main/docs/tutorial/config.md);这个文件也可以由[汉字自动拆分系统](https://chaifen.app/)生成;
22
22
  - `elements.txt`: 拆分表文件(米十五笔),每个字一行,每行的内容依次为汉字、制表符和以空格分隔的汉字拆分序列;这个文件也可由自动拆分系统生成;
23
- - `assets/character_frequency.txt`:字频文件,每个字一行,每行的内容为以制表符分隔的字和字频;
24
- - `assets/word_frequency.txt`:词频文件,每个字一行,每行的内容为以制表符分隔的词和词频;
25
- - `assets/key_equivalence.txt`:单键用指当量文件,每个按键一行,每行的内容为以制表符分隔的按键和当量;
23
+ - `assets/frequency.txt`:词频文件,每个字一行,每行的内容为以制表符分隔的词和词频;
24
+ - `assets/key_distribution.txt`:用指分布文件,每个按键一行,每行的内容为以制表符分隔的按键、目标频率、低频率惩罚系数、高频率惩罚系数;
26
25
  - `assets/pair_equivalence.txt`:双键速度当量文件,每个按键组合一行,每行的内容为以制表符分隔的按键组合和当量;
27
26
 
28
- 可执行文件支持两个不同的命令:`encode` 和 `optimize`,例如
27
+ 可执行文件支持三个不同的命令:`encode`, `evaluate` 和 `optimize`,例如
29
28
 
30
- ```bash
31
- ./chai encode
32
- ```
33
-
34
- 将使用方案文件和拆分表计算出字词编码并统计各类评测指标,而
35
-
36
- ```bash
37
- ./chai optimize
38
- ```
29
+ - `encode`:将使用方案文件和拆分表计算出字词编码
30
+ - `evaluate`:统计各类评测指标
31
+ - `optimize`:将基于拆分表和方案文件中的配置优化元素布局
39
32
 
40
- 将基于拆分表和方案文件中的配置优化元素布局。另外,如果方案文件和拆分表文件的路径不为以上的默认值,可以通过命令行参数提供,例如
33
+ 另外,如果方案文件和拆分表文件的路径不为以上的默认值,可以通过命令行参数提供,例如
41
34
 
42
35
  ```bash
43
36
  ./chai yima.yaml -e yima.txt optimize
package/chai.d.ts CHANGED
@@ -2,8 +2,9 @@
2
2
  /* eslint-disable */
3
3
  /**
4
4
  * @param {any} js_config
5
+ * @returns {any}
5
6
  */
6
- export function validate(js_config: any): void;
7
+ export function validate(js_config: any): any;
7
8
  /**
8
9
  * @param {any} js_input
9
10
  * @returns {any}
package/chai.js CHANGED
@@ -200,6 +200,7 @@ function debugString(val) {
200
200
  }
201
201
  /**
202
202
  * @param {any} js_config
203
+ * @returns {any}
203
204
  */
204
205
  export function validate(js_config) {
205
206
  try {
@@ -207,9 +208,11 @@ export function validate(js_config) {
207
208
  wasm.validate(retptr, addHeapObject(js_config));
208
209
  var r0 = getInt32Memory0()[retptr / 4 + 0];
209
210
  var r1 = getInt32Memory0()[retptr / 4 + 1];
210
- if (r1) {
211
- throw takeObject(r0);
211
+ var r2 = getInt32Memory0()[retptr / 4 + 2];
212
+ if (r2) {
213
+ throw takeObject(r1);
212
214
  }
215
+ return takeObject(r0);
213
216
  } finally {
214
217
  wasm.__wbindgen_add_to_stack_pointer(16);
215
218
  }
@@ -394,6 +397,14 @@ function __wbg_get_imports() {
394
397
  const ret = getObject(arg0) === undefined;
395
398
  return ret;
396
399
  };
400
+ imports.wbg.__wbindgen_number_new = function(arg0) {
401
+ const ret = arg0;
402
+ return addHeapObject(ret);
403
+ };
404
+ imports.wbg.__wbindgen_string_new = function(arg0, arg1) {
405
+ const ret = getStringFromWasm0(arg0, arg1);
406
+ return addHeapObject(ret);
407
+ };
397
408
  imports.wbg.__wbindgen_jsval_loose_eq = function(arg0, arg1) {
398
409
  const ret = getObject(arg0) == getObject(arg1);
399
410
  return ret;
@@ -402,17 +413,6 @@ function __wbg_get_imports() {
402
413
  const ret = +getObject(arg0);
403
414
  return ret;
404
415
  };
405
- imports.wbg.__wbg_getwithrefkey_4a92a5eca60879b9 = function(arg0, arg1) {
406
- const ret = getObject(arg0)[getObject(arg1)];
407
- return addHeapObject(ret);
408
- };
409
- imports.wbg.__wbg_set_9182712abebf82ef = function(arg0, arg1, arg2) {
410
- getObject(arg0)[takeObject(arg1)] = takeObject(arg2);
411
- };
412
- imports.wbg.__wbindgen_object_clone_ref = function(arg0) {
413
- const ret = getObject(arg0);
414
- return addHeapObject(ret);
415
- };
416
416
  imports.wbg.__wbg_String_389b54bd9d25375f = function(arg0, arg1) {
417
417
  const ret = String(getObject(arg1));
418
418
  const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
@@ -420,14 +420,17 @@ function __wbg_get_imports() {
420
420
  getInt32Memory0()[arg0 / 4 + 1] = len1;
421
421
  getInt32Memory0()[arg0 / 4 + 0] = ptr1;
422
422
  };
423
- imports.wbg.__wbindgen_number_new = function(arg0) {
424
- const ret = arg0;
423
+ imports.wbg.__wbindgen_object_clone_ref = function(arg0) {
424
+ const ret = getObject(arg0);
425
425
  return addHeapObject(ret);
426
426
  };
427
- imports.wbg.__wbindgen_string_new = function(arg0, arg1) {
428
- const ret = getStringFromWasm0(arg0, arg1);
427
+ imports.wbg.__wbg_getwithrefkey_4a92a5eca60879b9 = function(arg0, arg1) {
428
+ const ret = getObject(arg0)[getObject(arg1)];
429
429
  return addHeapObject(ret);
430
430
  };
431
+ imports.wbg.__wbg_set_9182712abebf82ef = function(arg0, arg1, arg2) {
432
+ getObject(arg0)[takeObject(arg1)] = takeObject(arg2);
433
+ };
431
434
  imports.wbg.__wbg_new_abda76e883ba8a5f = function() {
432
435
  const ret = new Error();
433
436
  return addHeapObject(ret);
package/chai_bg.wasm CHANGED
Binary file
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "collaborators": [
4
4
  "Songchen Tan <i@tansongchen.com>"
5
5
  ],
6
- "version": "0.1.8",
6
+ "version": "0.1.10",
7
7
  "files": [
8
8
  "chai_bg.wasm",
9
9
  "chai.js",