Though not quite the same issue but is this related to the behavior listed
at http://geocar.sdf1.org/numbers.html ?

On Wed, Aug 9, 2017 at 2:17 PM, robert therriault <bobtherria...@mac.com>
wrote:

> I was more surprised by the type change within a certain numeric range.
>
> That just seemed a little...odd.
>
> I guess that even though it feels strange to have a constant change type
> just by being
> entered, it's not really any different than these examples.
>
>     (; datatype) 3j0
> ┌─┬───────┐
> │3│integer│
> └─┴───────┘
>    (; datatype) 3.0
> ┌─┬───────┐
> │3│integer│
> └─┴───────┘
>    (; datatype) 3.6j0
> ┌───┬────────┐
> │3.6│floating│
> └───┴────────┘
>    (; datatype) 3r5j0
> ┌───┬────────┐
> │0.6│floating│
> └───┴────────┘
>
> Cheers, bob
>
> > On Aug 9, 2017, at 10:33 AM, Raul Miller <rauldmil...@gmail.com> 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 <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
>
> ----------------------------------------------------------------------
> 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