Hi Kacper, thanks , fixed in SVN 376.
Except that (not so obviously) : * 1E¯15 = 1E¯14 0 * **/// Jürgen On 07/15/2014 11:55 AM, Kacper Gutowski wrote:
When either of arguments of = has imaginary part of magnitude greater than comparison tolerance, a domain error is thrown. ⎕CT 1E¯13 0J1 = 0J1 DOMAIN ERROR 0J1=0J1 ^ ^ There are no conditions under which = is allowed to throw a domain error at all so this is serious. When it returns a value, it's still incorrect: 0J¯1E¯15 = 0J1E¯15 1 1E¯15J¯1E¯15 = ¯1E¯15J1E¯15 1 Both should be 0 regardless of ⎕CT because signs differ (arguments are not in the same half-plane). It's handled correctly for reals: ¯1E¯15 = 1E¯15 0 On the other hand: ⎕CT 1E¯13 1J1E¯15 = 1J1E¯14 0 1E¯15J0 = 1E¯14J0 0 1E¯15 = 1E¯14 1 All obviously should be 1. -k