Gilles created NUMBERS-60:

             Summary: Check Javadoc with respect to NaN
                 Key: NUMBERS-60
             Project: Commons Numbers
          Issue Type: Task
          Components: complex
            Reporter: Gilles
             Fix For: 1.0

See e.g. the doc for method {{negate}}:
 * Returns a {@code Complex} whose value is {@code (-this)}.
 * Returns {@code NaN} if either real or imaginary
 * part of this complex number is {@code Double.NaN}.
 * @return {@code -this}.
public Complex negate() {
    return new Complex(-real, -imaginary);
The "NaN" advertized in the the Javadoc seems to refer to the {{Complex.NaN}} 
field, but {{negate}} is able to construct instances for which the contract of 
method {{equals(Object)}} will be broken.

As a related issue, I would make the {{NaN}} field "private" (and rename it 
"NAN" to avoid the CheckStyle warning); users who need to check for (any 
combination of) NaN should use the {{isNaN()}} method.

This message was sent by Atlassian JIRA

Reply via email to