On 2018-05-06 21:37, Mark Miller wrote:
I take that back. The rfc says:
An I-JSON sender cannot expect a receiver to treat an integer whose
absolute value is greater than 9007199254740991 (i.e., that is
outside the range [-(2**53)+1, (2**53)-1]) as an exact value.
For the natural interpretation of "treat" as in "operate on or with" I'd say
the rfc is correct. But the language is ambiguous and should be clarified.
Well, the author questioned that IEEE-754 implementations actually deal with
this edge case at all.
However, they do which I found out by testing with 9007199254740992 in order to
break my canonicalizer implementations which to my surprise all continued to
work.
Then, when looking at the binary, it became clear that Number.MAX_SAFE_INTEGER
is not comparable to other languages' MAX* definitions.
https://docs.oracle.com/javase/8/docs/api/constant-values.html#java.lang.Integer.MAX_VALUE
Anyway, thanx for the insights in this matter!
Anders
On Sun, May 6, 2018 at 12:34 PM, Mark Miller <[email protected]
<mailto:[email protected]>> wrote:
Hi Anders, you are correct. The rfc as stated is incorrect. The EcmaScript
spec is correct.
2**53 is indeed exactly representable, which is what the rfc is about. But
2**53 is not safe, which what the ecmascript spec is about.
On Sun, May 6, 2018 at 11:58 AM, Anders Rundgren <[email protected]
<mailto:[email protected]>> wrote:
On 2018-05-06 19:57, Logan Smyth wrote:
<snip>
I think the best source of truth is likely the spec:
https://www.ecma-international.org/ecma-262/8.0/#sec-number.max_safe_integer
<https://www.ecma-international.org/ecma-262/8.0/#sec-number.max_safe_integer>
which states
The value of Number.MAX_SAFE_INTEGER is the largest integer n such
that n and n + 1 are both exactly representable as a Number value.
Right, this is essentially what I'm claiming; Number.MAX_SAFE_INTEGER + 1 is
a valid (exact) integer which means that
https://tools.ietf.org/html/rfc7493#section-2.2
<https://tools.ietf.org/html/rfc7493#section-2.2> is incorrect.
Anders
_______________________________________________
es-discuss mailing list
[email protected] <mailto:[email protected]>
https://mail.mozilla.org/listinfo/es-discuss
<https://mail.mozilla.org/listinfo/es-discuss>
--
Cheers,
--MarkM
--
Cheers,
--MarkM
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss