js-on-sx: Math.X.name maps SX names to JS for trig/log/etc.
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 22s
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 22s
js-unmap-fn-name had mappings for older Math methods but not the trig/hyperbolic/log family added later. Added 22 mappings for sin, cos, tan, asin, acos, atan, atan2, sinh, cosh, tanh, asinh, acosh, atanh, exp, log, log2, log10, expm1, log1p, clz32, imul, fround. built-ins/Math: 42/45 → 45/45 (100%). conformance.sh: 148/148.
This commit is contained in:
@@ -174,6 +174,28 @@
|
||||
((= name "js-math-sign") "sign")
|
||||
((= name "js-math-cbrt") "cbrt")
|
||||
((= name "js-math-hypot") "hypot")
|
||||
((= name "js-math-sin") "sin")
|
||||
((= name "js-math-cos") "cos")
|
||||
((= name "js-math-tan") "tan")
|
||||
((= name "js-math-asin") "asin")
|
||||
((= name "js-math-acos") "acos")
|
||||
((= name "js-math-atan") "atan")
|
||||
((= name "js-math-atan2") "atan2")
|
||||
((= name "js-math-sinh") "sinh")
|
||||
((= name "js-math-cosh") "cosh")
|
||||
((= name "js-math-tanh") "tanh")
|
||||
((= name "js-math-asinh") "asinh")
|
||||
((= name "js-math-acosh") "acosh")
|
||||
((= name "js-math-atanh") "atanh")
|
||||
((= name "js-math-exp") "exp")
|
||||
((= name "js-math-log") "log")
|
||||
((= name "js-math-log2") "log2")
|
||||
((= name "js-math-log10") "log10")
|
||||
((= name "js-math-expm1") "expm1")
|
||||
((= name "js-math-log1p") "log1p")
|
||||
((= name "js-math-clz32") "clz32")
|
||||
((= name "js-math-imul") "imul")
|
||||
((= name "js-math-fround") "fround")
|
||||
((= name "js-number-is-finite") "isFinite")
|
||||
((= name "js-number-is-nan") "isNaN")
|
||||
((= name "js-number-is-integer") "isInteger")
|
||||
|
||||
@@ -1,45 +1,27 @@
|
||||
{
|
||||
"totals": {
|
||||
"pass": 44,
|
||||
"fail": 6,
|
||||
"skip": 0,
|
||||
"pass": 45,
|
||||
"fail": 0,
|
||||
"skip": 5,
|
||||
"timeout": 0,
|
||||
"total": 50,
|
||||
"runnable": 50,
|
||||
"pass_rate": 88.0
|
||||
"runnable": 45,
|
||||
"pass_rate": 100.0
|
||||
},
|
||||
"categories": [
|
||||
{
|
||||
"category": "built-ins/Object",
|
||||
"category": "built-ins/Math",
|
||||
"total": 50,
|
||||
"pass": 44,
|
||||
"fail": 6,
|
||||
"skip": 0,
|
||||
"pass": 45,
|
||||
"fail": 0,
|
||||
"skip": 5,
|
||||
"timeout": 0,
|
||||
"pass_rate": 88.0,
|
||||
"top_failures": [
|
||||
[
|
||||
"ReferenceError (undefined symbol)",
|
||||
4
|
||||
],
|
||||
[
|
||||
"SyntaxError (parse/unsupported syntax)",
|
||||
2
|
||||
]
|
||||
]
|
||||
"pass_rate": 100.0,
|
||||
"top_failures": []
|
||||
}
|
||||
],
|
||||
"top_failure_modes": [
|
||||
[
|
||||
"ReferenceError (undefined symbol)",
|
||||
4
|
||||
],
|
||||
[
|
||||
"SyntaxError (parse/unsupported syntax)",
|
||||
2
|
||||
]
|
||||
],
|
||||
"top_failure_modes": [],
|
||||
"pinned_commit": "d5e73fc8d2c663554fb72e2380a8c2bc1a318a33",
|
||||
"elapsed_seconds": 42.1,
|
||||
"elapsed_seconds": 9.0,
|
||||
"workers": 1
|
||||
}
|
||||
@@ -1,24 +1,17 @@
|
||||
# test262 scoreboard
|
||||
|
||||
Pinned commit: `d5e73fc8d2c663554fb72e2380a8c2bc1a318a33`
|
||||
Wall time: 42.1s
|
||||
Wall time: 9.0s
|
||||
|
||||
**Total:** 44/50 runnable passed (88.0%). Raw: pass=44 fail=6 skip=0 timeout=0 total=50.
|
||||
**Total:** 45/45 runnable passed (100.0%). Raw: pass=45 fail=0 skip=5 timeout=0 total=50.
|
||||
|
||||
## Top failure modes
|
||||
|
||||
- **4x** ReferenceError (undefined symbol)
|
||||
- **2x** SyntaxError (parse/unsupported syntax)
|
||||
|
||||
## Categories (worst pass-rate first, min 10 runnable)
|
||||
|
||||
| Category | Pass | Fail | Skip | Timeout | Total | Pass % |
|
||||
|---|---:|---:|---:|---:|---:|---:|
|
||||
| built-ins/Object | 44 | 6 | 0 | 0 | 50 | 88.0% |
|
||||
| built-ins/Math | 45 | 0 | 5 | 0 | 50 | 100.0% |
|
||||
|
||||
## Per-category top failures (min 10 runnable, worst first)
|
||||
|
||||
### built-ins/Object (44/50 — 88.0%)
|
||||
|
||||
- **4x** ReferenceError (undefined symbol)
|
||||
- **2x** SyntaxError (parse/unsupported syntax)
|
||||
|
||||
@@ -158,6 +158,8 @@ Each item: implement → tests → update progress. Mark `[x]` when tests green.
|
||||
|
||||
Append-only record of completed iterations. Loop writes one line per iteration: date, what was done, test count delta.
|
||||
|
||||
- 2026-05-08 — **`Math.X.name` returns the JS-style method name.** `Math.acos.name`, `Math.acosh.name`, `Math.asin.name` were returning the SX symbol name (`"js-math-acos"` etc.). `js-unmap-fn-name` had mappings for the older Math methods but not the trig/hyperbolic/log family added later. Added mappings for sin, cos, tan, asin, acos, atan, atan2, sinh, cosh, tanh, asinh, acosh, atanh, exp, log, log2, log10, expm1, log1p, clz32, imul, fround. built-ins/Math: 42/45 → 45/45 (100%). conformance.sh: 148/148.
|
||||
|
||||
- 2026-05-08 — **`fn.constructor === Function` for function instances.** Per ES, every function instance's `constructor` slot points to the `Function` global. Was returning undefined for `(function () {}).constructor`. Added `constructor` to the function-property cond in `js-get-prop`; returns `js-function-global`. Headline scoreboards unchanged (the test that reads it also has unsupported features), but the fix unblocks future tests that check constructor identity. conformance.sh: 148/148.
|
||||
|
||||
- 2026-05-08 — **`js-new-call` honours function-typed constructor returns (not just dict/list).** `new Object(func)` should return `func` itself per ES spec ("if value is a native ECMAScript object, return it"), but `js-new-call` only kept the constructor's return when it was dict/list — functions fell through to the empty wrapper. Added `(js-function? ret)` to the accept set. Now `new Object(fn) === fn` and `new Object(fn)()` invokes `fn`. built-ins/Object: 42/50 → 44/50. conformance.sh: 148/148.
|
||||
|
||||
Reference in New Issue
Block a user