It's perhaps worth noting that tolerant equality is something of a pain to reason about. I doubt such reasoning can ever be completely consistent with itself.
This leads to questions of the form "why does this matter"? (Personally, I'm stalled on a project because J crashes when I run the code. I've got plans for dealing with that - among other things I can't tell yet whether it's a flaw in J, a flaw in an external library or a flaw induced by "anti-malware" code - but I'm stalled on those plans for other reasons. I'm mentioning this to underline some of my motivation for questioning about where this would matter.) Thanks, -- Raul On Tue, Apr 1, 2014 at 9:45 AM, Henry Rich <[email protected]> wrote: > The Dictionary models complex floor as > > floor=: j./@(ip+(c2>c1),c1+:c2) > '`c1 c2 fp ip'=:(1:>+/@fp)`(>:/@fp)`(+.-ip)`(<.@+.) > > but this doesn't match: > > (<. , floor) 0.5j0.5000000000000001 > 0j1 1 > > it appears that the comparison to produce c2 is in fact intolerant: > > '`c1 c2 fp ip'=:(1:>+/@fp)`(>:!.0/@fp)`(+.-ip)`(<.@+.) > (<. , floor) 0.5j0.5000000000000001 > 0j1 0j1 > > > Henry Rich > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
