/** * codec.ts — conformance runner adapter の共通部(runtime-boundary.md §2.1 COMMON)。 * * golden vector の型付き値エンコード(`{int:"..."}` / `{float:n}` / `{nan}` / `{inf}` / 素の * JSON number 分類)と runtime {@link Value} との相互変換、および int/float を型で区別する * 深い等価判定。全言語 runner が同じ判定規則で同じ pass/fail を出すための共有ロジック * (conformance/PROTOCOL.md §4)。DSL 非依存。 */ import type { Value } from "./expr-eval.js"; /** * decodeValue — golden vector の JSON 値表現を runtime {@link Value} へ復元する。 * expression-ir.md §2.3 の逆写像: * - 素の JSON number: 整数値 → int(bigint)、小数部あり → float(number)。 * - `{int:"..."}` → bigint(安全整数域外も表現可能)。 * - `{float:n}` → number(整数値 float を明示)。 * - `{nan}` / `{inf: ±1}` → NaN / ±Infinity(canonical の Failure テスト用)。 */ export declare function decodeValue(x: unknown): Value; /** * deepEquals — int/float を型で区別する深い等価(PROTOCOL.md §4)。 * bigint(int) と number(float) は等しくない。NaN は NaN と等しいとみなす(Failure 判定用)。 */ export declare function deepEquals(a: Value, b: Value): boolean; //# sourceMappingURL=codec.d.ts.map