commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Eric Barnhill (JIRA)" <>
Subject [jira] [Commented] (NUMBERS-22) Method reciprocal() in Complex for complex numbers with parts very close to 0.0
Date Tue, 25 Apr 2017 22:32:04 GMT


Eric Barnhill commented on NUMBERS-22:

I am indeed in the middle of coding a large test class that will enforce all the ISO C standards
on the complex number trigonometric operations. 

Thank you for bringing this to my attention and I will make sure it is enforced in testing
as well. This can be assigned to me.

> Method reciprocal() in Complex for complex numbers with parts very close to 0.0
> -------------------------------------------------------------------------------
>                 Key: NUMBERS-22
>                 URL:
>             Project: Commons Numbers
>          Issue Type: Improvement
>            Reporter: Gunel Jahangirova
>            Priority: Minor
> I have been redirected here from the issue repository of Apache Commons Math, as the
Complex class will likely be deprecated in favour of its equivalent in "Commons Numbers".
> In class Complex method reciprocal() returns INF only if the real and imaginary parts
are exactly equal to 0.0. In the cases when real and imaginary parts are double numbers very
close to 0.0, it does not hold. For example, if we run this code
> {code}
> Complex complex0 = new Complex((-2.44242319E-315));
> Complex complex1 = complex0.reciprocal();
> {code}
> the value of complex1.getReal() will be -Infinity and the value of complex1.getImaginary()
will be NaN, instead of complex1 being equal to INF.
> The suggested solutions after the discussion are either checking the equality to ZERO
with some tolerance or to detect if one of the real or imaginary parts is going to be infinite
or NaN and then return the proper result. 

This message was sent by Atlassian JIRA

View raw message