Re: Incorrect results with unique of 20 or more elements

2020-01-29 Thread Kacper Gutowski
On Wed, Jan 29, 2020 at 07:55:50PM +0100, Dr. Jürgen Sauermann wrote: SVN 1231. Looks good, thanks. -k

Re: Incorrect results with unique of 20 or more elements

2020-01-29 Thread Dr . Jürgen Sauermann
Hi, interesting talk, definitely worthwhile watching. I could not understand it completely since I am not a very good APL programmer, but it was interesting to see that I am not the only one that did monadic ∪ wrong. I have done a major r

Re: Incorrect results with unique of 20 or more elements

2020-01-29 Thread Jay Foad
For ideas on how to make Unique behave sanely in the presence of tolerant comparison, see: https://www.youtube.com/watch?v=fPWky9IOG40 Jay. On Tue, 28 Jan 2020 at 20:13, Dr. Jürgen Sauermann wrote: > > Hi Kacper, > > I am aware of the non-transitivity of = when ⎕CT ≠ 0. However, the > algorithm

Re: Incorrect results with unique of 20 or more elements

2020-01-28 Thread Dr . Jürgen Sauermann
Hi Kacper, I am aware of the non-transitivity of = when ⎕CT ≠ 0. However, the algorithm used in GNU APL is essentially the same as in the ISO standard. The result is sometimes puzzling. The difference between GNU APL and ISO is that the ISO algorithm has, in the worst case, quadratic runtime, whi

Re: Incorrect results with unique of 20 or more elements

2020-01-28 Thread Kacper Gutowski
Actually, while the algorithm used for 20≥⍴ works well with characters or integers (once you fix the direction of inequality), I don't think it's actually correct at all for non-zero ⎕CT because tolerant equality is not transitive. Consider this: X←1+0 1 2 5 4 3×(⎕CT←1E¯9)÷2 ∪19

Incorrect results with unique of 20 or more elements

2020-01-28 Thread Kacper Gutowski
Hello, Unique with argument of 20 or more items gives results in an incorrect order: ∪'abbbaaa' ab ∪'abbb' ba Or even with wrong set of distinct elements: (A B C)←1+¯1 0 1×(⎕CT←1E¯9)÷2 ∪19↑B A B C 1 0 ∪20↑B A B C 0.95 1.000