Commit Graph
2 Commits
Author SHA1 Message Date
ldm0 4c13737bc8 feat(webidl): add unrestricted binary32 float conversion
Add an explicit unrestricted_float converter to the shared WebIDL value and derive infrastructure. Preserve signed zero, NaN and infinities while rounding finite numbers to binary32; required arity, conversion side effects and original exceptions retain the existing contracts. Cross-realm tests compare Math.fround and check callee-realm TypeError.
2026-10-10 18:23:49 +08:00
ldm0 e03f6a71c5 feat(webidl): support restricted float conversion
Add the WebIDL restricted float converter and f32 inference in generated argument and dictionary bindings. Round finite numbers to binary32, reject values that become nonfinite, and preserve exceptions from numeric conversion.

Regression coverage compares rounding with V8 Math.fround, including signed zero, subnormals and overflow, and checks implicit/explicit derived argument conversion, single coercion, exception identity and the callee TypeError realm. Extracted from the AudioBuffer commit without an audio runtime dependency.
2026-10-01 16:53:47 +08:00