Thank you Henry,

I reported it here.

http://code.jsoftware.com/wiki/System/Interpreter/Bugs/Errors#Error_in_float_representation_between_1e15_and_1e19

Let me know if you had somewhere else in mind.

Cheers, bob

> On Aug 9, 2017, at 9:05 AM, Henry Rich <henryhr...@gmail.com> wrote:
> 
> This is a bug,  since 999...9.3 should become 999...9 rather than 100...0.
> I'm away from home now,  but I think what's happening is this:
> 
> 999...9 is converted to integer
> 
> . is encountered and turns it to float
> 
> It's rounded to the nearest float which is 100...0
> 
> As a final step the JE checks to see if the value is exactly integral,
> which it is,  and it is converted back to integer.
> 
> If you add this to Interpreter/Bugs I'll fix it when i get back.
> 
> Henry Rich
> 
> On Aug 9, 2017 16:16, "bill lam" <bbill....@gmail.com> wrote:
> 
> I think this is the difference between 32 and 64-bit,
> 
>   9!:14''
> j602/2008-03-03/16:45
>   3!:0[ 9999999999999999.3
> 4
> 
> In J32
> 
>   a.i. 2 fc 9999999999999999.3
> 0 128 224 55 121 195 65 67
>   a.i. 2 fc 1e16
> 0 128 224 55 121 195 65 67
> 
> the number has the same bit pattern as 1e16 (an integer)
> which can be represented as a 64-bit integer. I guess
> J64 is correct since 9999999999999999.3 and 1e16 is the
> same number in ieee fp and J prefers integer to floats,
> eg
>  3!:0 [ 2.0
> 4
> 
> Ср, 09 авг 2017, robert therriault написал(а):
>> Hi Pascal,
>> 
>> I see the same behaviour in j806 as j805. Do you see something different?
>> 
>>    JVERSION
>> Engine: j806/j64avx/darwin
>> Beta-4: commercial/2017-06-27T12:55:06
>> Library: 8.06.03
>> Qt IDE: 1.5.3/5.6.2
>> Platform: Darwin 64
>> Installer: J806 install
>> InstallPath: /users/bobtherriault/j64-806
>> Contact: www.jsoftware.com
>>   (; datatype) 999999999999999.3
>> ┌────┬────────┐
>> │1e15│floating│
>> └────┴────────┘
>>   (; datatype) 9999999999999999.3
>> ┌─────────────────┬───────┐
>> │10000000000000000│integer│
>> └─────────────────┴───────┘
>>   (; datatype) 99999999999999999.3
>> ┌──────────────────┬───────┐
>> │100000000000000000│integer│
>> └──────────────────┴───────┘
>>   (; datatype) 999999999999999999.3
>> ┌───────────────────┬───────┐
>> │1000000000000000000│integer│
>> └───────────────────┴───────┘
>>   (; datatype) 9999999999999999999.3
>> ┌────┬────────┐
>> │1e19│floating│
>> └────┴────────┘
>> 
>> Cheers, bob
>> 
>>> On Aug 9, 2017, at 7:54 AM, 'Pascal Jasmin' via Programming <
> programm...@jsoftware.com> wrote:
>>> 
>>> in j806,    9999999999999999.310000000000000000 probably the j805
> behaviour is preferred.  If only for consistency.  But there may be a good
> reason for change.
>>> 
>>>     From: robert therriault <bobtherria...@mac.com>
>>> To: Programming forum <programm...@jsoftware.com>
>>> Sent: Wednesday, August 9, 2017 10:40 AM
>>> Subject: [Jprogramming] Integer-floating type change for large numbers
> in j805 and j806
>>> 
>>> I am guessing that the following has something to do with precision of
> large numbers in j805 and is also true for j806.
>>> 
>>>  (; datatype) 999999999999999.3
>>> ┌────┬────────┐
>>> │1e15│floating│
>>> └────┴────────┘
>>>  (; datatype) 9999999999999999.3
>>> ┌─────────────────┬───────┐
>>> │10000000000000000│integer│
>>> └─────────────────┴───────┘
>>>  (; datatype) 99999999999999999.3
>>> ┌──────────────────┬───────┐
>>> │100000000000000000│integer│
>>> └──────────────────┴───────┘
>>>  (; datatype) 999999999999999999.3
>>> ┌───────────────────┬───────┐
>>> │1000000000000000000│integer│
>>> └───────────────────┴───────┘
>>>  (; datatype) 9999999999999999999.3
>>> ┌────┬────────┐
>>> │1e19│floating│
>>> └────┴────────┘
>>>  JVERSION
>>> Engine: j805/j64/darwin
>>> Release: commercial/2016-12-11T08:17:56
>>> Library: 8.05.14
>>> Qt IDE: 1.5.4/5.6.2
>>> Platform: Darwin 64
>>> Installer: J805 install
>>> InstallPath: /applications/j64-805
>>> Contact: www.jsoftware.com
>>> 
>>> Further investigation shows me it was not this way with the 32 bit
> version of j701, so it may be an artifact of moving to 64 bit?
>>> 
>>>      (; datatype) 999999999999999.3
>>> ┌────┬────────┐
>>> │1e15│floating│
>>> └────┴────────┘
>>>  (; datatype) 9999999999999999.3
>>> ┌────┬────────┐
>>> │1e16│floating│
>>> └────┴────────┘
>>>  (; datatype) 999999999999999999.3
>>> ┌────┬────────┐
>>> │1e18│floating│
>>> └────┴────────┘
>>>  (; datatype) 9999999999999999999.3
>>> ┌────┬────────┐
>>> │1e19│floating│
>>> └────┴────────┘
>>>  JVERSION
>>> Engine: j701/2011-01-10/11:25
>>> Library: 7.01.088
>>> Platform: Darwin 32
>>> Installer: j701a_mac_intel.dmg
>>> InstallPath: /Applications/j701
>>> 
>>> Cheers, bob
>>> 
>>> 
>>> 
>>> ----------------------------------------------------------------------
>>> For information about J forums see http://www.jsoftware.com/forums.htm
>>> 
>>> 
>>> ----------------------------------------------------------------------
>>> For information about J forums see http://www.jsoftware.com/forums.htm
>> 
>> ----------------------------------------------------------------------
>> For information about J forums see http://www.jsoftware.com/forums.htm
> 
> --
> regards,
> ====================================================
> GPG key 1024D/4434BAB3 2008-08-24
> gpg --keyserver subkeys.pgp.net --recv-keys 4434BAB3
> gpg --keyserver subkeys.pgp.net --armor --export 4434BAB3
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm

----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to