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

Reply via email to