Jorge Chamorro (2013-07-11T19:29:06.000Z)
On 10/07/2013, at 03:45, Brendan Eich wrote:
> Jorge Chamorro wrote:
>> On 10/07/2013, at 03:23, Brendan Eich wrote:
>>> Mark S. Miller wrote:
>>>> FWIW, we include 2**53 as in the "contiguous range of exactly representable natural numbers".
>>>> 
>>>> https://code.google.com/p/google-caja/source/browse/trunk/src/com/google/caja/ses/startSES.js#492
>>> It's exactly representable, but its representation is not exact. If that makes sense!
>> 
>> 2**53 is exactly representable, but it gets the exact same representation as 2**53 + 1
> 
> Yes, you said that last time, and Allen said it before in the message to which you replied :-P.

He, yes, I'm amazed, there's lots of fun on the edge:

a = Math.pow(2,53)
9007199254740992

a === a+1
true

a === a+2-1
true

And my favorite:

(a+1-1) === (a-1+1)
false

-- 
( Jorge )();
domenic at domenicdenicola.com (2013-07-17T18:55:27.270Z)
On 10/07/2013, at 03:45, Brendan Eich wrote:
> Jorge Chamorro wrote:
>> On 10/07/2013, at 03:23, Brendan Eich wrote:
>>> Mark S. Miller wrote:
>>>> FWIW, we include 2^53 as in the "contiguous range of exactly representable natural numbers".
>>>> 
>>>> https://code.google.com/p/google-caja/source/browse/trunk/src/com/google/caja/ses/startSES.js#492
>>> It's exactly representable, but its representation is not exact. If that makes sense!
>> 
>> 2^53 is exactly representable, but it gets the exact same representation as 2^53 + 1
> 
> Yes, you said that last time, and Allen said it before in the message to which you replied :-P.

He, yes, I'm amazed, there's lots of fun on the edge:

```js
a = Math.pow(2,53)
9007199254740992
```
```js
a === a+1
true
```
```js
a === a+2-1
true
```

And my favorite:

```js
(a+1-1) === (a-1+1)
false
```