Matt Juntunen created GEOMETRY-99:
-------------------------------------
Summary: Inconsistent equals and hashCode
Key: GEOMETRY-99
URL: https://issues.apache.org/jira/browse/GEOMETRY-99
Project: Apache Commons Geometry
Issue Type: Bug
Reporter: Matt Juntunen
The following classes have inconsistent behavior between {{equals}} and
{{hashCode}} in regard to +0.0 and -0.0:
* EpsilonDoublePrecisionContext
* Vector1D
* Vector2D
* Vector2D
* SphericalCoordinates
* PolarCoordinates
* AffineTransformMatrix2D
* AffineTransformMatrix3D
* AxisAngleSequence
This inconsistency comes from the use of == or {{Precision.equals}} to compare
doubles in the {{equals}} method (which consider +0.0 and -0.0 to be equal) and
{{Double.hashCode}} in the {{hashCode}} method (which returns different hash
codes for +0.0 and -0.0). Hence, instances could be considered equal but have
different hash codes.
We should standardize on the use of {{Double.compare}} in {{equals}} and
{{Double.hashCode}} in {{hashCode}}.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)