Yes, thanks! Now, when ⎕CT=0 there are some odd results: ⎕CT←0 A←(-⌽A),0,A←1e¯200 1e¯100 1 1e100 1e200 A∘.|A 0E0 ¯1E100 ¯1E0 ¯1E¯100 ¯1E¯200 0 0E0 0E0 ¯1E200 0E0 0E0 0E0 0E0 ¯1E0 ¯1E¯100 ¯1E¯200 0 0E0 0E0 ¯1E100 0E0 0E0 0E0 0E0 0E0 ¯1E¯100 ¯1E¯200 0 0E0 0E0 0E0 0E0 0E0 0E0 0E0 0E0 0E0 ¯1E¯200 0 0E0 0E0 0E0 0E0 0E0 0E0 0E0 0E0 0E0 0E0 0 0E0 0E0 0E0 0E0 0E0 ¯1E200 ¯1E100 ¯1E0 ¯1E¯100 ¯1E¯200 0 1E¯200 1E¯100 1E0 1E100 1E200 0E0 0E0 0E0 0E0 0E0 0 0E0 0E0 0E0 0E0 0E0 0E0 0E0 0E0 0E0 0E0 0 1E¯200 0E0 0E0 0E0 0E0 0E0 0E0 0E0 0E0 0E0 0 1E¯200 1E¯100 0E0 0E0 0E0 0E0 0E0 1E100 0E0 0E0 0 1E¯200 1E¯100 1E0 0E0 0E0 0E0 0E0 1E200 0E0 0E0 0 1E¯200 1E¯100 1E0 1E100 0E0 1e200|¯1 1E200
The standard explicitly says that the result should never be the same as the (non-zero) left argument: "If Z is A , return zero." Jay. On 8 January 2018 at 12:26, Juergen Sauermann <juergen.sauerm...@t-online.de > wrote: > Hi Jay, > > maybe *SVN 1036* works better. > > /// Jürgen > > > On 01/08/2018 01:02 PM, Jay Foad wrote: > > Thanks. With r1035 I get: > > A←(-⌽A),0,A←1e¯200 1e¯100 1 1e100 1e200 > A∘.|A > 0E0 0E0 0 0E0 0E0 0 0E0 0E0 0 0E0 0E0 > 0E0 0E0 0 0E0 0E0 0 0E0 0E0 0 0E0 0E0 > 0E0 0E0 0 0E0 0E0 0 0E0 0E0 0 0E0 0E0 > 0E0 0E0 0 0E0 0E0 0 0E0 0E0 0 0E0 0E0 > ¯1E200 0E0 0 0E0 0E0 0 0E0 0E0 0 0E0 0E0 > ¯1E200 ¯1E100 ¯1 ¯1E¯100 ¯1E¯200 0 1E¯200 1E¯100 1 1E100 1E200 > 0E0 0E0 0 0E0 0E0 0 0E0 0E0 0 0E0 0E0 > 0E0 0E0 0 0E0 0E0 0 0E0 0E0 0 0E0 0E0 > 0E0 0E0 0 0E0 0E0 0 0E0 0E0 0 0E0 0E0 > 0E0 0E0 0 0E0 0E0 0 0E0 0E0 0 0E0 0E0 > 0E0 0E0 0 0E0 0E0 0 0E0 0E0 0 0E0 0E0 > > One result stands out: > > ¯1E¯200|¯1E200 > ¯1E200 > > The result of A|B (with A non-zero) should be strictly smaller in > magnitude than A, so this seems very wrong. > > Jay. > > > On 8 January 2018 at 11:49, Juergen Sauermann < > juergen.sauerm...@t-online.de> wrote: > >> Hi Jay, >> >> thanks, fixed in *SVN 1035*. >> >> BTW tryapl.com gives this: >> >> * A←1E¯200 1E200 ¯1E¯200 ¯1E200* >> >> * A ∘.∣ A* >> >> *0 0 0 0 >> 0 0 0 0 >> 0 0 0 0 >> 0 0 0 0* >> /// Jürgen >> >> >> >> TOn 01/08/2018 10:29 AM, Jay Foad wrote: >> >> Thanks. At r1034 I get: >> >> A←(-⌽A),0,A←1e¯200 1e¯100 1 1e100 1e200 >> A∘.|A >> DOMAIN ERROR >> >> And here's one of the cases that fails: >> >> 1e¯200|1e200 >> DOMAIN ERROR >> >> This still seems wrong to me, since the ISO standard for Residue says >> "Implementations should avoid signalling limit-error in residue" with >> advice on how to avoid it. (OK, it doesn't mention DOMAIN ERROR, but I >> think the same principle applies.) >> >> Jay. >> >> >> On 6 January 2018 at 11:56, Juergen Sauermann < >> juergen.sauerm...@t-online.de> wrote: >> >>> Hi, >>> >>> thanks, fixed in *SVN 1029*. >>> >>> /// Jürgen >>> >>> >>> On 01/05/2018 04:37 PM, Jay Foad wrote: >>> >>> Yes, that expression hangs on my Linux box too. It gets stuck here: >>> >>> FloatCell::bif_residue (this=0x555555ae13a8, Z=0x555555ae24f8, >>> A=0x555555ae11d8) at FloatCell.cc:643 >>> 643 while (z < 0.0) z = z + a; >>> (gdb) p z >>> $1 = -inf >>> (gdb) p a >>> $2 = 9.9999999999999998e-201 >>> >>> Jay. >>> >>> On 5 January 2018 at 15:24, Xiao-Yong Jin <jinxiaoy...@gmail.com> wrote: >>> >>>> 1e¯200|1e200 hangs on my mac. >>>> >>>> > On Jan 5, 2018, at 6:57 AM, Juergen Sauermann < >>>> juergen.sauerm...@t-online.de> wrote: >>>> > >>>> > Hi Jay, >>>> > >>>> > hmm, interesting. I am getting this: >>>> > >>>> > A←(-⌽A),0,A←1e¯200 1e¯100 1 1e100 1e200 >>>> > A∘.|A >>>> > 0E0 0E0 0 0E0 0E0 0 0E0 0E0 0 0E0 0E0 >>>> > 0E0 0E0 0 0E0 0E0 0 0E0 0E0 0 0E0 0E0 >>>> > 0E0 0E0 0 0E0 0E0 0 0E0 0E0 0 0E0 0E0 >>>> > 0E0 0E0 0 0E0 0E0 0 0E0 0E0 0 0E0 0E0 >>>> > 0E0 0E0 0 0E0 0E0 0 0E0 0E0 0 0E0 0E0 >>>> > ¯1E200 ¯1E100 ¯1 ¯1E¯100 ¯1E¯200 0 1E¯200 1E¯100 1 1E100 1E200 >>>> > 0E0 0E0 0 0E0 0E0 0 0E0 0E0 0 0E0 0E0 >>>> > 0E0 0E0 0 0E0 0E0 0 0E0 0E0 0 0E0 0E0 >>>> > 0E0 0E0 0 0E0 0E0 0 0E0 0E0 0 0E0 0E0 >>>> > 0E0 0E0 0 0E0 0E0 0 0E0 0E0 0 0E0 0E0 >>>> > 0E0 0E0 0 0E0 0E0 0 0E0 0E0 0 0E0 0E0 >>>> > >>>> > I suppose it is one of the A[i] ∣ A[j] which causes the hanging so it >>>> would >>>> > be interesting to know which one. Probably one with +/- 1E¯200 or >>>> 1E¯100. >>>> > >>>> > Best Regards, >>>> > /// Jürgen >>>> > >>>> > >>>> > On 01/05/2018 12:16 PM, Jay Foad wrote: >>>> >> At svn r1028 on Linux I get: >>>> >> >>>> >> A←(-⌽A),0,A←1e¯200 1e¯100 1 1e100 1e200 >>>> >> A∘.|A >>>> >> (hangs) >>>> >> >>>> >> Jay. >>>> > >>>> >>>> >>> >>> >> >> > >