@aster-cloud/aster-lang-ts 1.0.5 → 1.0.7
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/dist/src/ast/ast.d.ts +1 -0
- package/dist/src/ast/ast.d.ts.map +1 -1
- package/dist/src/ast/ast.js +1 -0
- package/dist/src/ast/ast.js.map +1 -1
- package/dist/src/core/core_ir.d.ts +1 -0
- package/dist/src/core/core_ir.d.ts.map +1 -1
- package/dist/src/core/core_ir.js +1 -0
- package/dist/src/core/core_ir.js.map +1 -1
- package/dist/src/core/interpreter.d.ts +3 -1
- package/dist/src/core/interpreter.d.ts.map +1 -1
- package/dist/src/core/interpreter.js +214 -5
- package/dist/src/core/interpreter.js.map +1 -1
- package/dist/src/core/pretty_core.d.ts.map +1 -1
- package/dist/src/core/pretty_core.js +1 -0
- package/dist/src/core/pretty_core.js.map +1 -1
- package/dist/src/core/visitor.d.ts.map +1 -1
- package/dist/src/core/visitor.js +1 -0
- package/dist/src/core/visitor.js.map +1 -1
- package/dist/src/diagnostics/diagnostics.d.ts +2 -0
- package/dist/src/diagnostics/diagnostics.d.ts.map +1 -1
- package/dist/src/diagnostics/diagnostics.js +6 -0
- package/dist/src/diagnostics/diagnostics.js.map +1 -1
- package/dist/src/diagnostics/error_codes.d.ts +1 -0
- package/dist/src/diagnostics/error_codes.d.ts.map +1 -1
- package/dist/src/diagnostics/error_codes.js +2 -0
- package/dist/src/diagnostics/error_codes.js.map +1 -1
- package/dist/src/frontend/lexer.d.ts +7 -0
- package/dist/src/frontend/lexer.d.ts.map +1 -1
- package/dist/src/frontend/lexer.js +37 -2
- package/dist/src/frontend/lexer.js.map +1 -1
- package/dist/src/lower_to_core.js +2 -0
- package/dist/src/lower_to_core.js.map +1 -1
- package/dist/src/parser/expr-stmt-parser.d.ts.map +1 -1
- package/dist/src/parser/expr-stmt-parser.js +7 -0
- package/dist/src/parser/expr-stmt-parser.js.map +1 -1
- package/dist/src/typecheck/expression.d.ts.map +1 -1
- package/dist/src/typecheck/expression.js +55 -0
- package/dist/src/typecheck/expression.js.map +1 -1
- package/dist/src/typecheck/type_system.d.ts.map +1 -1
- package/dist/src/typecheck/type_system.js +9 -1
- package/dist/src/typecheck/type_system.js.map +1 -1
- package/dist/src/types/base.d.ts +10 -0
- package/dist/src/types/base.d.ts.map +1 -1
- package/dist/src/types.d.ts +10 -2
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/types.js +1 -0
- package/dist/src/types.js.map +1 -1
- package/dist/test/unit/date-builtins.test.d.ts +2 -0
- package/dist/test/unit/date-builtins.test.d.ts.map +1 -0
- package/dist/test/unit/date-builtins.test.js +74 -0
- package/dist/test/unit/date-builtins.test.js.map +1 -0
- package/dist/test/unit/decimal-literals.test.d.ts +2 -0
- package/dist/test/unit/decimal-literals.test.d.ts.map +1 -0
- package/dist/test/unit/decimal-literals.test.js +76 -0
- package/dist/test/unit/decimal-literals.test.js.map +1 -0
- package/dist/test/unit/decimal-mixing-typecheck.test.d.ts +2 -0
- package/dist/test/unit/decimal-mixing-typecheck.test.d.ts.map +1 -0
- package/dist/test/unit/decimal-mixing-typecheck.test.js +80 -0
- package/dist/test/unit/decimal-mixing-typecheck.test.js.map +1 -0
- package/dist/test/unit/decimal-round-divide.test.d.ts +2 -0
- package/dist/test/unit/decimal-round-divide.test.d.ts.map +1 -0
- package/dist/test/unit/decimal-round-divide.test.js +53 -0
- package/dist/test/unit/decimal-round-divide.test.js.map +1 -0
- package/dist/test/unit/stdlib-collections.test.js +35 -0
- package/dist/test/unit/stdlib-collections.test.js.map +1 -1
- package/package.json +3 -2
package/dist/src/types/base.d.ts
CHANGED
|
@@ -275,6 +275,16 @@ export interface BaseDouble<S = Span | Origin> extends BaseNode<S> {
|
|
|
275
275
|
readonly kind: 'Double';
|
|
276
276
|
readonly value: number;
|
|
277
277
|
}
|
|
278
|
+
/**
|
|
279
|
+
* Decimal 字面量基础接口(ADR 0025,精确十进制)。
|
|
280
|
+
*
|
|
281
|
+
* **注意**: value 使用 **canonical 十进制字符串** 存储(去尾零/去前导零/零统一 "0"),
|
|
282
|
+
* 不用 number——避免 IEEE754 二进制误差与双引擎不一致。与 truffle BigDecimal 逐位对齐。
|
|
283
|
+
*/
|
|
284
|
+
export interface BaseDecimal<S = Span | Origin> extends BaseNode<S> {
|
|
285
|
+
readonly kind: 'Decimal';
|
|
286
|
+
readonly value: string;
|
|
287
|
+
}
|
|
278
288
|
/**
|
|
279
289
|
* 字符串字面量基础接口。
|
|
280
290
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/types/base.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/types/base.ts"],"names":[],"mappings":"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"}
|
package/dist/src/types.d.ts
CHANGED
|
@@ -107,6 +107,7 @@ export declare enum TokenKind {
|
|
|
107
107
|
INT = "INT",
|
|
108
108
|
FLOAT = "FLOAT",
|
|
109
109
|
LONG = "LONG",
|
|
110
|
+
DECIMAL = "DECIMAL",
|
|
110
111
|
BOOL = "BOOL",
|
|
111
112
|
NULL = "NULL",
|
|
112
113
|
KEYWORD = "KEYWORD",
|
|
@@ -265,7 +266,7 @@ export interface PatternName extends Base.BasePatternName<Span> {
|
|
|
265
266
|
export interface PatternInt extends Base.BasePatternInt<Span> {
|
|
266
267
|
span: Span;
|
|
267
268
|
}
|
|
268
|
-
export type Expression = Name | Bool | Int | Long | Double | String | Null | Call | Construct | Ok | Err | Some | None | Lambda | Await | IfExpr | ListLit;
|
|
269
|
+
export type Expression = Name | Bool | Int | Long | Double | Decimal | String | Null | Call | Construct | Ok | Err | Some | None | Lambda | Await | IfExpr | ListLit;
|
|
269
270
|
export interface Await extends Base.BaseAwait<Span, Expression> {
|
|
270
271
|
span: Span;
|
|
271
272
|
}
|
|
@@ -292,6 +293,10 @@ export interface Long extends Base.BaseLong<Span> {
|
|
|
292
293
|
export interface Double extends Base.BaseDouble<Span> {
|
|
293
294
|
span: Span;
|
|
294
295
|
}
|
|
296
|
+
/** Decimal 字面量(ADR 0025,canonical 十进制字符串值)。 */
|
|
297
|
+
export interface Decimal extends Base.BaseDecimal<Span> {
|
|
298
|
+
span: Span;
|
|
299
|
+
}
|
|
295
300
|
export interface String extends Base.BaseString<Span> {
|
|
296
301
|
span: Span;
|
|
297
302
|
}
|
|
@@ -475,7 +480,7 @@ export declare namespace Core {
|
|
|
475
480
|
}
|
|
476
481
|
interface PatInt extends Base.BasePatternInt<Origin> {
|
|
477
482
|
}
|
|
478
|
-
type Expression = Name | Bool | Int | Long | Double | String | Null | Call | Construct | Ok | Err | Some | None | Lambda | Await | IfExpr | ListLit;
|
|
483
|
+
type Expression = Name | Bool | Int | Long | Double | Decimal | String | Null | Call | Construct | Ok | Err | Some | None | Lambda | Await | IfExpr | ListLit;
|
|
479
484
|
interface Name extends Base.BaseName<Origin> {
|
|
480
485
|
}
|
|
481
486
|
interface Bool extends Base.BaseBool<Origin> {
|
|
@@ -486,6 +491,9 @@ export declare namespace Core {
|
|
|
486
491
|
}
|
|
487
492
|
interface Double extends Base.BaseDouble<Origin> {
|
|
488
493
|
}
|
|
494
|
+
/** Decimal 字面量(ADR 0025,canonical 十进制字符串值)。 */
|
|
495
|
+
interface Decimal extends Base.BaseDecimal<Origin> {
|
|
496
|
+
}
|
|
489
497
|
interface String extends Base.BaseString<Origin> {
|
|
490
498
|
}
|
|
491
499
|
interface Null extends Base.BaseNull<Origin> {
|
package/dist/src/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/src/types.js
CHANGED
package/dist/src/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,sCAAsC;AA6FtC,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,sCAAsC;AA6FtC,MAAM,CAAN,IAAY,SAoCX;AApCD,WAAY,SAAS;IACnB,wBAAW,CAAA;IACX,gCAAmB,CAAA;IACnB,8BAAiB,CAAA;IACjB,8BAAiB,CAAA;IACjB,wBAAW,CAAA;IACX,4BAAe,CAAA;IACf,4BAAe,CAAA;IACf,8BAAiB,CAAA;IACjB,8BAAiB,CAAA;IACjB,kCAAqB,CAAA;IACrB,kCAAqB,CAAA;IACrB,8BAAiB,CAAA;IACjB,sBAAS,CAAA;IACT,0BAAa,CAAA;IACb,0BAAa,CAAA;IACb,4BAAe,CAAA;IACf,4BAAe,CAAA;IACf,sBAAS,CAAA;IACT,sBAAS,CAAA;IACT,wBAAW,CAAA;IACX,wBAAW,CAAA;IACX,wBAAW,CAAA;IACX,kCAAqB,CAAA;IACrB,sBAAS,CAAA;IACT,4BAAe,CAAA;IACf,sCAAyB,CAAA;IACzB,8BAAiB,CAAA;IACjB,wBAAW,CAAA;IACX,4BAAe,CAAA;IACf,0BAAa,CAAA;IACb,gCAAmB,CAAA;IACnB,0BAAa,CAAA;IACb,0BAAa,CAAA;IACb,gCAAmB,CAAA;IACnB,gCAAmB,CAAA;AACrB,CAAC,EApCW,SAAS,KAAT,SAAS,QAoCpB;AAaD;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,KAAY;IAIzC,OAAO,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,OAAO,CAAC;AAC1C,CAAC;AAED,8CAA8C;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AA8T9C,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAU,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date-builtins.test.d.ts","sourceRoot":"","sources":["../../../test/unit/date-builtins.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { describe, it } from 'node:test';
|
|
2
|
+
import assert from 'node:assert/strict';
|
|
3
|
+
import { compile } from '../../src/browser.js';
|
|
4
|
+
import { evaluate } from '../../src/core/interpreter.js';
|
|
5
|
+
// Date.* 合规原语(Stable v1):epoch-day Int + 纯整数 proleptic Gregorian + 禁 today()。
|
|
6
|
+
// fixture 取自 Codex 设计清单(session 019f12c6),双引擎须逐位一致(同 fixture 进 truffle)。
|
|
7
|
+
function run(body) {
|
|
8
|
+
const c = compile(`Module probe.\n${body}\n`);
|
|
9
|
+
assert.ok(c.core, `compile: ${JSON.stringify(c.parseErrors ?? [])}`);
|
|
10
|
+
const ev = evaluate(c.core, 'main', { seed: 0 });
|
|
11
|
+
assert.ok(ev.success, `eval: ${ev.error ?? ''}`);
|
|
12
|
+
return ev.value;
|
|
13
|
+
}
|
|
14
|
+
const RI = (expr) => `Rule main given seed as Int, produce Int:\n Return ${expr}.`;
|
|
15
|
+
function evalErr(body) {
|
|
16
|
+
const c = compile(`Module probe.\n${body}\n`);
|
|
17
|
+
assert.ok(c.core);
|
|
18
|
+
const ev = evaluate(c.core, 'main', { seed: 0 });
|
|
19
|
+
return ev.success ? '<no error>' : String(ev.error);
|
|
20
|
+
}
|
|
21
|
+
describe('Date.* builtin — fromISO (epoch-day)', () => {
|
|
22
|
+
it('1970-01-01 == 0', () => assert.equal(run(RI('Date.fromISO("1970-01-01")')), 0));
|
|
23
|
+
it('1970-01-02 == 1', () => assert.equal(run(RI('Date.fromISO("1970-01-02")')), 1));
|
|
24
|
+
it('1969-12-31 == -1', () => assert.equal(run(RI('Date.fromISO("1969-12-31")')), -1));
|
|
25
|
+
it('2026-06-29 == 20633', () => assert.equal(run(RI('Date.fromISO("2026-06-29")')), 20633));
|
|
26
|
+
it('2000-02-29 == 11016', () => assert.equal(run(RI('Date.fromISO("2000-02-29")')), 11016));
|
|
27
|
+
it('0001-01-01 == -719162', () => assert.equal(run(RI('Date.fromISO("0001-01-01")')), -719162));
|
|
28
|
+
it('9999-12-31 == 2932896', () => assert.equal(run(RI('Date.fromISO("9999-12-31")')), 2932896));
|
|
29
|
+
});
|
|
30
|
+
describe('Date.* builtin — leap year validation', () => {
|
|
31
|
+
it('2000-02-29 ok', () => assert.equal(run(RI('Date.day(Date.fromISO("2000-02-29"))')), 29));
|
|
32
|
+
it('2400-02-29 ok', () => assert.equal(run(RI('Date.day(Date.fromISO("2400-02-29"))')), 29));
|
|
33
|
+
it('2024-02-29 ok', () => assert.equal(run(RI('Date.day(Date.fromISO("2024-02-29"))')), 29));
|
|
34
|
+
it('1900-02-29 errors (÷100 非闰)', () => assert.match(evalErr(RI('Date.fromISO("1900-02-29")')), /Date\.InvalidISODate/));
|
|
35
|
+
it('2100-02-29 errors', () => assert.match(evalErr(RI('Date.fromISO("2100-02-29")')), /Date\.InvalidISODate/));
|
|
36
|
+
it('2023-02-29 errors', () => assert.match(evalErr(RI('Date.fromISO("2023-02-29")')), /Date\.InvalidISODate/));
|
|
37
|
+
});
|
|
38
|
+
describe('Date.* builtin — daysBetween / addDays', () => {
|
|
39
|
+
it('same day == 0', () => assert.equal(run(RI('Date.daysBetween(Date.fromISO("1970-01-01"), Date.fromISO("1970-01-01"))')), 0));
|
|
40
|
+
it('1 day forward', () => assert.equal(run(RI('Date.daysBetween(Date.fromISO("1970-01-01"), Date.fromISO("1970-01-02"))')), 1));
|
|
41
|
+
it('1 day backward (negative)', () => assert.equal(run(RI('Date.daysBetween(Date.fromISO("1970-01-02"), Date.fromISO("1970-01-01"))')), -1));
|
|
42
|
+
it('leap-year span 2024-02-28→03-01 == 2', () => assert.equal(run(RI('Date.daysBetween(Date.fromISO("2024-02-28"), Date.fromISO("2024-03-01"))')), 2));
|
|
43
|
+
it('non-leap span 2023-02-28→03-01 == 1', () => assert.equal(run(RI('Date.daysBetween(Date.fromISO("2023-02-28"), Date.fromISO("2023-03-01"))')), 1));
|
|
44
|
+
it('addDays +30', () => assert.equal(run(RI('Date.daysBetween(Date.fromISO("1970-01-01"), Date.addDays(Date.fromISO("1970-01-01"), 30))')), 30));
|
|
45
|
+
it('addDays crosses leap day 2024-02-28 +1 == 02-29', () => assert.equal(run(RI('Date.day(Date.addDays(Date.fromISO("2024-02-28"), 1))')), 29));
|
|
46
|
+
});
|
|
47
|
+
describe('Date.* builtin — year/month/day extractors', () => {
|
|
48
|
+
it('year', () => assert.equal(run(RI('Date.year(Date.fromISO("2026-06-29"))')), 2026));
|
|
49
|
+
it('month', () => assert.equal(run(RI('Date.month(Date.fromISO("2026-06-29"))')), 6));
|
|
50
|
+
it('day', () => assert.equal(run(RI('Date.day(Date.fromISO("2026-06-29"))')), 29));
|
|
51
|
+
it('year 0001-01-01 == 1', () => assert.equal(run(RI('Date.year(Date.fromISO("0001-01-01"))')), 1));
|
|
52
|
+
it('month 9999-12-31 == 12', () => assert.equal(run(RI('Date.month(Date.fromISO("9999-12-31"))')), 12));
|
|
53
|
+
});
|
|
54
|
+
describe('Date.* builtin — strict format rejection', () => {
|
|
55
|
+
for (const bad of ['', '2026-2-03', '2026-02-3', '2026-02-30', '2026-13-01', '2026-00-01', '2026-01-00',
|
|
56
|
+
' 2026-01-01', '2026-01-01 ', '2026-01-01T00:00:00Z', '0000-01-01', '10000-01-01']) {
|
|
57
|
+
it(`rejects ${JSON.stringify(bad)}`, () => assert.match(evalErr(RI(`Date.fromISO(${JSON.stringify(bad)})`)), /Date\.InvalidISODate/));
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
describe('Date.* builtin — 合规业务场景 (评估日期作输入)', () => {
|
|
61
|
+
// "申请日期距评估日期 ≥ 30 天" — 用 epoch-day Int 直接比较,无需 isBefore builtin。
|
|
62
|
+
const consentRule = `Rule main given seed as Int, produce Bool:
|
|
63
|
+
Let evalDay be Date.fromISO("2026-06-29").
|
|
64
|
+
Let consentDay be Date.fromISO("2026-05-30").
|
|
65
|
+
Return Date.daysBetween(consentDay, evalDay) at least 30.`;
|
|
66
|
+
it('consent 30 days ago → at least 30 = true', () => {
|
|
67
|
+
const c = compile(`Module probe.\n${consentRule}\n`);
|
|
68
|
+
assert.ok(c.core);
|
|
69
|
+
const ev = evaluate(c.core, 'main', { seed: 0 });
|
|
70
|
+
assert.ok(ev.success, ev.error ?? '');
|
|
71
|
+
assert.equal(ev.value, true);
|
|
72
|
+
});
|
|
73
|
+
});
|
|
74
|
+
//# sourceMappingURL=date-builtins.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date-builtins.test.js","sourceRoot":"","sources":["../../../test/unit/date-builtins.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decimal-literals.test.d.ts","sourceRoot":"","sources":["../../../test/unit/decimal-literals.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { describe, it } from 'node:test';
|
|
2
|
+
import assert from 'node:assert/strict';
|
|
3
|
+
import { compile } from '../../src/browser.js';
|
|
4
|
+
import { evaluate } from '../../src/core/interpreter.js';
|
|
5
|
+
// Decimal M1(ADR 0025):m 后缀字面量 + canonical 字符串 + 精确加减乘 + 比较 + 禁 Double 混算。
|
|
6
|
+
// 运行时 Decimal 值=decimal.js 实例;测试比规范化字符串(与 truffle BigDecimal toPlainString 对齐)。
|
|
7
|
+
function runDecimal(body) {
|
|
8
|
+
const c = compile(`Module probe.\n${body}\n`);
|
|
9
|
+
assert.ok(c.core, `compile: ${JSON.stringify(c.parseErrors ?? [])}`);
|
|
10
|
+
const ev = evaluate(c.core, 'main', { seed: 0 });
|
|
11
|
+
assert.ok(ev.success, `eval: ${ev.error ?? ''}`);
|
|
12
|
+
return ev.value.toFixed();
|
|
13
|
+
}
|
|
14
|
+
function runBool(body) {
|
|
15
|
+
const c = compile(`Module probe.\n${body}\n`);
|
|
16
|
+
assert.ok(c.core);
|
|
17
|
+
const ev = evaluate(c.core, 'main', { seed: 0 });
|
|
18
|
+
assert.ok(ev.success, ev.error ?? '');
|
|
19
|
+
return ev.value;
|
|
20
|
+
}
|
|
21
|
+
function evalErr(body) {
|
|
22
|
+
const c = compile(`Module probe.\n${body}\n`);
|
|
23
|
+
if (!c.core)
|
|
24
|
+
return 'COMPILE:' + JSON.stringify(c.parseErrors ?? []);
|
|
25
|
+
const ev = evaluate(c.core, 'main', { seed: 0 });
|
|
26
|
+
return ev.success ? '<no error>' : String(ev.error);
|
|
27
|
+
}
|
|
28
|
+
const RD = (expr) => `Rule main given seed as Int, produce Decimal:\n Return ${expr}.`;
|
|
29
|
+
const RB = (expr) => `Rule main given seed as Int, produce Bool:\n Return ${expr}.`;
|
|
30
|
+
describe('Decimal M1 — 字面量位数上限 (ADR 0025 v1 ≤38, Codex P1)', () => {
|
|
31
|
+
// 超 38 位会让 decimal.js(precision 80) 乘法静默舍入 vs BigDecimal 精确 → 双引擎分歧。硬拒。
|
|
32
|
+
it('38 位有效数字 → 接受', () => assert.equal(runDecimal(RD('1'.repeat(38) + 'm')), '1'.repeat(38)));
|
|
33
|
+
it('39 位有效数字 → 拒绝 (parse error)', () => assert.match(evalErr(RD('1'.repeat(39) + 'm')), /COMPILE|38|significant digits/i));
|
|
34
|
+
it('纯小数前导零不计有效位 (0.000…1 仅 1 位)', () => assert.equal(runDecimal(RD('0.' + '0'.repeat(38) + '1m')), '0.' + '0'.repeat(38) + '1'));
|
|
35
|
+
});
|
|
36
|
+
describe('Decimal M1 — 字面量 canonical', () => {
|
|
37
|
+
it('1.08m → 1.08', () => assert.equal(runDecimal(RD('1.08m')), '1.08'));
|
|
38
|
+
it('1.00m → 1 (去尾零)', () => assert.equal(runDecimal(RD('1.00m')), '1'));
|
|
39
|
+
it('001.2300m → 1.23 (去前导+尾零)', () => assert.equal(runDecimal(RD('001.2300m')), '1.23'));
|
|
40
|
+
it('0.000m → 0', () => assert.equal(runDecimal(RD('0.000m')), '0'));
|
|
41
|
+
it('10m → 10', () => assert.equal(runDecimal(RD('10m')), '10'));
|
|
42
|
+
});
|
|
43
|
+
describe('Decimal M1 — 精确加减乘', () => {
|
|
44
|
+
it('0.1m plus 0.2m → 0.3 (无二进制误差)', () => assert.equal(runDecimal(RD('0.1m plus 0.2m')), '0.3'));
|
|
45
|
+
it('100.01m minus 0.02m → 99.99', () => assert.equal(runDecimal(RD('100.01m minus 0.02m')), '99.99'));
|
|
46
|
+
it('1.20m times 1.080m → 1.296 (scale 增长)', () => assert.equal(runDecimal(RD('1.20m times 1.080m')), '1.296'));
|
|
47
|
+
it('price times taxRate 自然写法', () => assert.equal(runDecimal(RD('100.00m times 1.08m')), '108'));
|
|
48
|
+
});
|
|
49
|
+
describe('Decimal M1 — Int/Long 精确提升', () => {
|
|
50
|
+
it('1m plus 2 (Int) → 3', () => assert.equal(runDecimal(RD('1m plus 2')), '3'));
|
|
51
|
+
it('5 (Int) times 1.5m → 7.5', () => assert.equal(runDecimal(RD('5 times 1.5m')), '7.5'));
|
|
52
|
+
});
|
|
53
|
+
describe('Decimal M1 — 比较 (compareTo, 值语义)', () => {
|
|
54
|
+
it('1.0m equals to 1.00m → true (值语义)', () => assert.equal(runBool(RB('1.0m equals to 1.00m')), true));
|
|
55
|
+
it('1.01m greater than 1.001m → true', () => assert.equal(runBool(RB('1.01m greater than 1.001m')), true));
|
|
56
|
+
it('100.00m at least 50m → true', () => assert.equal(runBool(RB('100.00m at least 50m')), true));
|
|
57
|
+
it('0.1m plus 0.2m equals to 0.3m → true (精确)', () => assert.equal(runBool(RB('0.1m plus 0.2m equals to 0.3m')), true));
|
|
58
|
+
});
|
|
59
|
+
describe('Decimal M1 — 禁 Double 混算 (runtime 层: 非整数 Double 可catch)', () => {
|
|
60
|
+
// 注:runtime Int/Double 都是 JS number, 无法区分 2.0(Double) vs 2(Int)——非整数 Double
|
|
61
|
+
// (2.5)runtime 能 catch; 整数值 Double(2.0)的混算禁须由 **typechecker** 在编译期拦
|
|
62
|
+
// (AST 节点 kind Int/Double/Decimal 可分)。typechecker 规则是 M1 后续(见 ADR 0025)。
|
|
63
|
+
it('1.08m plus 2.5 (非整数 Double) → error', () => assert.match(evalErr(RD('1.08m plus 2.5')), /Cannot combine Decimal and Double/));
|
|
64
|
+
it('2.5 (Double) times 3m → error', () => assert.match(evalErr(RD('2.5 times 3m')), /Cannot combine Decimal and Double/));
|
|
65
|
+
it('Decimal / 禁 → error', () => assert.match(evalErr(RD('6m divided by 2m')), /Decimal .* not supported|use Decimal\.divide/i));
|
|
66
|
+
});
|
|
67
|
+
describe('Decimal M1 — 合规场景 (信贷 DTI 用 Decimal)', () => {
|
|
68
|
+
it('月负债+预估还款 精确', () => {
|
|
69
|
+
const src = `Rule main given seed as Int, produce Decimal:
|
|
70
|
+
Let debt be 1200.50m.
|
|
71
|
+
Let payment be 800.25m.
|
|
72
|
+
Return debt plus payment.`;
|
|
73
|
+
assert.equal(runDecimal(src), '2000.75');
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
//# sourceMappingURL=decimal-literals.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decimal-literals.test.js","sourceRoot":"","sources":["../../../test/unit/decimal-literals.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAGzD,2EAA2E;AAC3E,gFAAgF;AAChF,SAAS,UAAU,CAAC,IAAY;IAC9B,MAAM,CAAC,GAAG,OAAO,CAAC,kBAAkB,IAAI,IAAI,CAAC,CAAC;IAC9C,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,YAAY,IAAI,CAAC,SAAS,CAAE,CAA+B,CAAC,WAAW,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;IACpG,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAK,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;IAClD,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC,CAAC;IACjD,OAAQ,EAAE,CAAC,KAAiB,CAAC,OAAO,EAAE,CAAC;AACzC,CAAC;AACD,SAAS,OAAO,CAAC,IAAY;IAC3B,MAAM,CAAC,GAAG,OAAO,CAAC,kBAAkB,IAAI,IAAI,CAAC,CAAC;IAC9C,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAClB,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAK,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;IAClD,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IACtC,OAAO,EAAE,CAAC,KAAK,CAAC;AAClB,CAAC;AACD,SAAS,OAAO,CAAC,IAAY;IAC3B,MAAM,CAAC,GAAG,OAAO,CAAC,kBAAkB,IAAI,IAAI,CAAC,CAAC;IAC9C,IAAI,CAAC,CAAC,CAAC,IAAI;QAAE,OAAO,UAAU,GAAG,IAAI,CAAC,SAAS,CAAE,CAA+B,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;IACpG,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAK,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;IAClD,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;AACtD,CAAC;AACD,MAAM,EAAE,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,2DAA2D,IAAI,GAAG,CAAC;AACxG,MAAM,EAAE,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,wDAAwD,IAAI,GAAG,CAAC;AAErG,QAAQ,CAAC,kDAAkD,EAAE,GAAG,EAAE;IAChE,wEAAwE;IACxE,EAAE,CAAC,eAAe,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9F,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE,CACrC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,gCAAgC,CAAC,CAAC,CAAC;IACrF,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE,CACrC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;AAC7F,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IAC1C,EAAE,CAAC,cAAc,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IACxE,EAAE,CAAC,iBAAiB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACxE,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IACzF,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACpE,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;AAClE,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IACjG,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,qBAAqB,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IACtG,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IAC/G,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,qBAAqB,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;AACnG,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IAC1C,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAChF,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;AAC5F,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,kCAAkC,EAAE,GAAG,EAAE;IAChD,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,sBAAsB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IACvG,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,2BAA2B,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IAC3G,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,sBAAsB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IACjG,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,+BAA+B,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;AAC1H,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,yDAAyD,EAAE,GAAG,EAAE;IACvE,4EAA4E;IAC5E,oEAAoE;IACpE,yEAAyE;IACzE,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,EAAE,mCAAmC,CAAC,CAAC,CAAC;IAClI,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,EAAE,mCAAmC,CAAC,CAAC,CAAC;IAC1H,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,EAAE,+CAA+C,CAAC,CAAC,CAAC;AAClI,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,sCAAsC,EAAE,GAAG,EAAE;IACpD,EAAE,CAAC,aAAa,EAAE,GAAG,EAAE;QACrB,MAAM,GAAG,GAAG;;;4BAGY,CAAC;QACzB,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decimal-mixing-typecheck.test.d.ts","sourceRoot":"","sources":["../../../test/unit/decimal-mixing-typecheck.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { describe, it } from 'node:test';
|
|
2
|
+
import assert from 'node:assert/strict';
|
|
3
|
+
import { canonicalize } from '../../src/frontend/canonicalizer.js';
|
|
4
|
+
import { lex } from '../../src/frontend/lexer.js';
|
|
5
|
+
import { parse } from '../../src/parser.js';
|
|
6
|
+
import { lowerModule } from '../../src/lower_to_core.js';
|
|
7
|
+
import { typecheckModule } from '../../src/typecheck.js';
|
|
8
|
+
// Decimal↔Double 混算编译期拦截(ADR 0025,M1 后续)。
|
|
9
|
+
// runtime 只能 catch 非整数 Double(2.5);整数值 Double(2.0)与 Int(2)在 JS number
|
|
10
|
+
// 不可分——必须靠 typechecker 在编译期按 AST 节点 kind(Double vs Decimal)拦截。
|
|
11
|
+
// Int/Long↔Decimal 精确提升放行。错误码 E031 DECIMAL_DOUBLE_MIXING。
|
|
12
|
+
function diagnose(body) {
|
|
13
|
+
const src = `Module probe.\n${body}\n`;
|
|
14
|
+
const ast = parse(lex(canonicalize(src))).ast;
|
|
15
|
+
const core = lowerModule(ast);
|
|
16
|
+
return typecheckModule(core).map(d => `${d.code}:${d.message}`);
|
|
17
|
+
}
|
|
18
|
+
function hasMixingError(body) {
|
|
19
|
+
return diagnose(body).some(d => d.startsWith('E031'));
|
|
20
|
+
}
|
|
21
|
+
describe('Decimal M1 后续 — Double↔Decimal 混算编译期拦截', () => {
|
|
22
|
+
it('1.08m plus 2.0 (整数值 Double) → E031 (runtime 抓不到, 编译期拦)', () => {
|
|
23
|
+
assert.ok(hasMixingError('Rule main produce Decimal:\n Return 1.08m plus 2.0.'));
|
|
24
|
+
});
|
|
25
|
+
it('2.0 (Double) times 3m → E031', () => {
|
|
26
|
+
assert.ok(hasMixingError('Rule main produce Decimal:\n Return 2.0 times 3m.'));
|
|
27
|
+
});
|
|
28
|
+
it('1.08m minus 2.5 (非整数 Double) → E031 (编译期也拦, 不止 runtime)', () => {
|
|
29
|
+
assert.ok(hasMixingError('Rule main produce Decimal:\n Return 1.08m minus 2.5.'));
|
|
30
|
+
});
|
|
31
|
+
it('嵌套: (100.00m times 1.08m) plus 0.5 → E031 (Decimal 结果类型传播)', () => {
|
|
32
|
+
assert.ok(hasMixingError('Rule main produce Decimal:\n Return 100.00m times 1.08m plus 0.5.'));
|
|
33
|
+
});
|
|
34
|
+
// Codex 审查 P0:比较运算符混算(整数值 Double 不可 runtime catch,必须编译期拦)
|
|
35
|
+
it('1.0m equals to 1.0 (整数值 Double 比较) → E031 (TS runtime=true 但 Truffle 抛错=分歧)', () => {
|
|
36
|
+
assert.ok(hasMixingError('Rule main produce Bool:\n Return 1.0m equals to 1.0.'));
|
|
37
|
+
});
|
|
38
|
+
it('1.0m at most 2.0 → E031', () => {
|
|
39
|
+
assert.ok(hasMixingError('Rule main produce Bool:\n Return 1.0m at most 2.0.'));
|
|
40
|
+
});
|
|
41
|
+
it('2.0 greater than 1.0m → E031', () => {
|
|
42
|
+
assert.ok(hasMixingError('Rule main produce Bool:\n Return 2.0 greater than 1.0m.'));
|
|
43
|
+
});
|
|
44
|
+
// Codex 审查 P0:Decimal.round/divide 的 Decimal 参数位混 Double
|
|
45
|
+
it('Decimal.divide(1m, 2.0, 2, "HALF_UP") → E031 (divisor 是 Double)', () => {
|
|
46
|
+
assert.ok(hasMixingError('Rule main produce Decimal:\n Return Decimal.divide(1m, 2.0, 2, "HALF_UP").'));
|
|
47
|
+
});
|
|
48
|
+
it('Decimal.round(2.0, 1, "HALF_UP") → E031 (x 是 Double)', () => {
|
|
49
|
+
assert.ok(hasMixingError('Rule main produce Decimal:\n Return Decimal.round(2.0, 1, "HALF_UP").'));
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
describe('Decimal M1 后续 — 比较/builtin 合法组合不误报', () => {
|
|
53
|
+
it('1.0m equals to 1.00m (Decimal 比较) → 无 E031', () => {
|
|
54
|
+
assert.ok(!hasMixingError('Rule main produce Bool:\n Return 1.0m equals to 1.00m.'));
|
|
55
|
+
});
|
|
56
|
+
it('1.0m at most 2 (Int 比较) → 无 E031 (精确提升)', () => {
|
|
57
|
+
assert.ok(!hasMixingError('Rule main produce Bool:\n Return 1.0m at most 2.'));
|
|
58
|
+
});
|
|
59
|
+
it('Decimal.divide(1m, 2m, 2, "HALF_UP") → 无 E031', () => {
|
|
60
|
+
assert.ok(!hasMixingError('Rule main produce Decimal:\n Return Decimal.divide(1m, 2m, 2, "HALF_UP").'));
|
|
61
|
+
});
|
|
62
|
+
it('1.0 equals to 2.0 (纯 Double 比较) → 无 E031', () => {
|
|
63
|
+
assert.ok(!hasMixingError('Rule main produce Bool:\n Return 1.0 equals to 2.0.'));
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
describe('Decimal M1 后续 — 合法组合不误报', () => {
|
|
67
|
+
it('1.08m plus 2 (Int) → 无 E031 (精确提升允许)', () => {
|
|
68
|
+
assert.ok(!hasMixingError('Rule main produce Decimal:\n Return 1.08m plus 2.'));
|
|
69
|
+
});
|
|
70
|
+
it('1.08m plus 2.50m (Decimal+Decimal) → 无 E031', () => {
|
|
71
|
+
assert.ok(!hasMixingError('Rule main produce Decimal:\n Return 1.08m plus 2.50m.'));
|
|
72
|
+
});
|
|
73
|
+
it('1.08 plus 2.5 (Double+Double) → 无 E031 (纯 Double 合法)', () => {
|
|
74
|
+
assert.ok(!hasMixingError('Rule main produce Double:\n Return 1.08 plus 2.5.'));
|
|
75
|
+
});
|
|
76
|
+
it('1 plus 2 (Int+Int) → 无 E031', () => {
|
|
77
|
+
assert.ok(!hasMixingError('Rule main produce Int:\n Return 1 plus 2.'));
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
//# sourceMappingURL=decimal-mixing-typecheck.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decimal-mixing-typecheck.test.js","sourceRoot":"","sources":["../../../test/unit/decimal-mixing-typecheck.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decimal-round-divide.test.d.ts","sourceRoot":"","sources":["../../../test/unit/decimal-round-divide.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { describe, it } from 'node:test';
|
|
2
|
+
import assert from 'node:assert/strict';
|
|
3
|
+
import { compile } from '../../src/browser.js';
|
|
4
|
+
import { evaluate } from '../../src/core/interpreter.js';
|
|
5
|
+
// Decimal M2(ADR 0025):Decimal.round(x, scale, mode) + Decimal.divide(x, y, scale, mode)。
|
|
6
|
+
// mode 字符串 HALF_UP/HALF_EVEN/DOWN,scale 0..18。三引擎逐位一致(与 truffle BigDecimal
|
|
7
|
+
// setScale/divide(RoundingMode) 对齐,含 2.5→2 银行家舍入 + DOWN 朝零截断 + canonical 去尾零)。
|
|
8
|
+
function runDecimal(body) {
|
|
9
|
+
const c = compile(`Module probe.\n${body}\n`);
|
|
10
|
+
assert.ok(c.core, `compile: ${JSON.stringify(c.parseErrors ?? [])}`);
|
|
11
|
+
const ev = evaluate(c.core, 'main', { seed: 0 });
|
|
12
|
+
assert.ok(ev.success, `eval: ${ev.error ?? ''}`);
|
|
13
|
+
return ev.value.toFixed();
|
|
14
|
+
}
|
|
15
|
+
function evalErr(body) {
|
|
16
|
+
const c = compile(`Module probe.\n${body}\n`);
|
|
17
|
+
if (!c.core)
|
|
18
|
+
return 'COMPILE';
|
|
19
|
+
const ev = evaluate(c.core, 'main', { seed: 0 });
|
|
20
|
+
return ev.success ? '<no error>' : String(ev.error);
|
|
21
|
+
}
|
|
22
|
+
const R = (expr) => `Rule main given seed as Int, produce Decimal:\n Return ${expr}.`;
|
|
23
|
+
describe('Decimal M2 — round 舍入模式', () => {
|
|
24
|
+
it('2.345m sc2 HALF_UP → 2.35', () => assert.equal(runDecimal(R('Decimal.round(2.345m, 2, "HALF_UP")')), '2.35'));
|
|
25
|
+
it('2.345m sc2 HALF_EVEN → 2.34 (向偶)', () => assert.equal(runDecimal(R('Decimal.round(2.345m, 2, "HALF_EVEN")')), '2.34'));
|
|
26
|
+
it('2.355m sc2 HALF_EVEN → 2.36 (向偶)', () => assert.equal(runDecimal(R('Decimal.round(2.355m, 2, "HALF_EVEN")')), '2.36'));
|
|
27
|
+
it('2.5m sc0 HALF_EVEN → 2 (银行家)', () => assert.equal(runDecimal(R('Decimal.round(2.5m, 0, "HALF_EVEN")')), '2'));
|
|
28
|
+
it('3.5m sc0 HALF_EVEN → 4 (银行家)', () => assert.equal(runDecimal(R('Decimal.round(3.5m, 0, "HALF_EVEN")')), '4'));
|
|
29
|
+
it('2.999m sc0 DOWN → 2 (截断)', () => assert.equal(runDecimal(R('Decimal.round(2.999m, 0, "DOWN")')), '2'));
|
|
30
|
+
it('2.50m sc2 → 2.5 (canonical 去尾零)', () => assert.equal(runDecimal(R('Decimal.round(2.50m, 2, "HALF_UP")')), '2.5'));
|
|
31
|
+
});
|
|
32
|
+
describe('Decimal M2 — divide 精确除法', () => {
|
|
33
|
+
it('10m / 3m sc4 HALF_UP → 3.3333', () => assert.equal(runDecimal(R('Decimal.divide(10m, 3m, 4, "HALF_UP")')), '3.3333'));
|
|
34
|
+
it('2m / 3m sc2 HALF_UP → 0.67', () => assert.equal(runDecimal(R('Decimal.divide(2m, 3m, 2, "HALF_UP")')), '0.67'));
|
|
35
|
+
it('1m / 8m sc2 DOWN → 0.12', () => assert.equal(runDecimal(R('Decimal.divide(1m, 8m, 2, "DOWN")')), '0.12'));
|
|
36
|
+
it('1m / 3m sc2 HALF_EVEN → 0.33', () => assert.equal(runDecimal(R('Decimal.divide(1m, 3m, 2, "HALF_EVEN")')), '0.33'));
|
|
37
|
+
it('100m / 4m sc2 → 25 (整除 canonical)', () => assert.equal(runDecimal(R('Decimal.divide(100m, 4m, 2, "HALF_UP")')), '25'));
|
|
38
|
+
});
|
|
39
|
+
describe('Decimal M2 — 合规场景 (利率/分摊)', () => {
|
|
40
|
+
it('月利率: 年息 7.25% / 12 期, sc6 HALF_EVEN', () => {
|
|
41
|
+
// 0.0725 / 12 = 0.00604166... → sc6 HALF_EVEN = 0.006042
|
|
42
|
+
assert.equal(runDecimal(R('Decimal.divide(0.0725m, 12m, 6, "HALF_EVEN")')), '0.006042');
|
|
43
|
+
});
|
|
44
|
+
it('税额: 108.00m round sc2 = 108', () => assert.equal(runDecimal(R('Decimal.round(100.00m times 1.08m, 2, "HALF_UP")')), '108'));
|
|
45
|
+
});
|
|
46
|
+
describe('Decimal M2 — 错误处理', () => {
|
|
47
|
+
it('除零 → error', () => assert.match(evalErr(R('Decimal.divide(1m, 0m, 2, "HALF_UP")')), /division by zero/i));
|
|
48
|
+
it('未知 mode → error', () => assert.match(evalErr(R('Decimal.round(1.5m, 2, "CEILING")')), /unknown rounding mode/i));
|
|
49
|
+
it('scale 越界(>18) → error', () => assert.match(evalErr(R('Decimal.round(1.5m, 19, "HALF_UP")')), /scale must be/i));
|
|
50
|
+
// 注:负 scale 无法用 CNL 字面量构造(无前缀 -,`-1` 解析失败);runtime 仍校验 n<0,
|
|
51
|
+
// 但只能通过非字面量路径触发(例如 evaluation 输入),此处不测无法构造的输入。
|
|
52
|
+
});
|
|
53
|
+
//# sourceMappingURL=decimal-round-divide.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decimal-round-divide.test.js","sourceRoot":"","sources":["../../../test/unit/decimal-round-divide.test.ts"],"names":[],"mappings":"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"}
|