I guess the question is: which wiki page should this be documented in? (If it's not already -- I guess another question is what should I search on to attempt to find such documentation?)
Thanks, -- Raul On Sat, Oct 23, 2021 at 5:44 AM Henry Rich <[email protected]> wrote: > > You might have a point, but I don't think it's worth taking the risk of > breaking existing code to make the change. If you want a float, add a > decimal point. > > Numbers close to IMAX are always troublesome because of tolerance. > > Henry Rich > > On 10/23/2021 4:13 AM, ethiejiesa via General wrote: > > The issue I find surprising is that integer literals in the range > > 16b8000000000000000 to 16b80000000000004ff, i.e. INT_MAX+1 to INT_MAX+1024, > > all > > parse into the integer precision 9223372036854775807, i.e. INT_MAX. This is > > not > > the same thing as (<:2^63) which has floating precision. > > > > My expectation was that non-exact representations for (2^63x) and above--- > > e.g. 16b8000000000000000---would parse into floating precision numbers. > > > > As it stands, this means that integer precision values equal to > > 16b7fffffffffffffff cannot be trusted and must be handled specially, as > > demonstrated nicely in Raul's examples below. > > > > Henry Rich <[email protected]> wrote: > >> 16b8000000000000401 cannot be exactly represented. There is a band of > >> floats near 2^63 that are converted to (<:2^63). > >> > >> Henry Rich > >> > >> > >> > >> On 10/23/2021 1:42 AM, Raul Miller wrote: > >>> I do not see why I should expect these to be the same number: > >>> > >>> 2^.92233720368547768323 > >>> 66.3219 > >>> 2^.16b8000000000000401 > >>> 63 > >>> > >>> One is larger than can be represented using a 64 bit integer, and so > >>> > >>> datatype 92233720368547768323 > >>> floating > >>> > >>> That said, I do think that there's a problem with the other one. That > >>> one is also larger than can be represented using a 64 bit signed > >>> integer: > >>> > >>> (2^63x)-16b8000000000000401 > >>> 1 > >>> (2^63x)-16b8000000000000000 > >>> 1 > >>> (2^63x)-16b7fffffffffffffff > >>> 1 > >>> > >>> So there's a certain range of numbers here which get treated ... oddly. > >>> > >>> Thanks, > >>> > > > > ---------------------------------------------------------------------- > > For information about J forums see http://www.jsoftware.com/forums.htm > > > -- > This email has been checked for viruses by AVG. > https://www.avg.com > > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
