Quite right. Henry Rich
On Aug 9, 2017 20:46, "Raul Miller" <[email protected]> wrote: > Well, since it's encoded as an integer (which I would have noticed if > I had read Bob Therriault's original post more closely), and not [like > I was thinking] a float, I agree that dropping the .3 is better than > adding a 1. > > That said, I guess we also should not object too loudly if > 9999999999999999.3 were instead encoded the same as > 9999999999999999+0.3 gets encoded. > > Thanks, > > -- > Raul > > On Wed, Aug 9, 2017 at 3:25 PM, Henry Rich <[email protected]> wrote: > > Surely integer 999...9 is a better value than 1000...0 . > > > > Henry Rich > > > > On Aug 9, 2017 18:33, "Raul Miller" <[email protected]> wrote: > > > >> It's not a bug, it's an artifact of the 64 bit floating point standard. > >> > >> 2 ^.9999999999999999 > >> 53.1508 > >> > >> https://en.wikipedia.org/wiki/IEEE_754#Basic_and_interchange_formats > >> > >> The binary64 format has 53 binary digits or 15.95 decimal digits. This > >> means ".16#'9' cannot be represented exactly using this format. > >> > >> And, we do not use exact representation of large numbers by default > >> because that's too slow for large datasets. Put differently, if you > >> want exact representation and are willing to take the performance hit, > >> you should specify that. For example: ".'x',~16#'9' or > >> ".'3r10+','x',~16#'9' > >> > >> Thanks, > >> > >> -- > >> Raul > >> > >> On Wed, Aug 9, 2017 at 12:05 PM, Henry Rich <[email protected]> > 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" <[email protected]> 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 < > >> > [email protected]> 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 <[email protected]> > >> >> > To: Programming forum <[email protected]> > >> >> > 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 > > ---------------------------------------------------------------------- > > 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
