Skip to content

gcf-dotnet v0.2.0 — int64 numeric domain

Choose a tag to compare

@blackwell-systems blackwell-systems released this 15 Aug 04:47
· 5 commits to main since this release

Implements the v3.5.3 numeric domain (SPEC 2.3.2): the canonical domain is signed int64 for integers and IEEE-754 double for non-integers. This SDK parses integer literals to an exact int64 on decode and on the JSON-to-value bridge, and rejects a value outside int64 with an out-of-range error on both decode and encode, rather than following the host numeric type for integers beyond the double-exact range (2^53). Values beyond int64 (unsigned-64 identifiers, exact decimals) are modeled as strings. Canonical number formatting aligns to the domain: a double at or above 2^53 renders in exponent notation. Verified against the shared conformance fixtures (numbers/017-024, errors-v2/041-042) and the cross-SDK differential fuzz.

Adds EncodeException for an out-of-domain value on encode, symmetric with DecodeException on decode.

Full changelog: https://github.com/blackwell-systems/gcf-dotnet/blob/main/CHANGELOG.md

Full Changelog: v0.1.2...v0.2.0