Use Double.isNaN() instead of ==
NaN == NaN will always return false
diff --git a/src/main/java/ch/hsr/geohash/util/VincentyGeodesy.java b/src/main/java/ch/hsr/geohash/util/VincentyGeodesy.java
index 64ef7a6..88ab678 100644
--- a/src/main/java/ch/hsr/geohash/util/VincentyGeodesy.java
+++ b/src/main/java/ch/hsr/geohash/util/VincentyGeodesy.java
@@ -105,7 +105,7 @@
double sinAlpha = cosU1 * cosU2 * sinLambda / sinSigma;
cosSqAlpha = 1 - sinAlpha * sinAlpha;
cos2SigmaM = cosSigma - 2 * sinU1 * sinU2 / cosSqAlpha;
- if (cos2SigmaM == Double.NaN) {
+ if (Double.isNaN(cos2SigmaM)) {
cos2SigmaM = 0; // equatorial line: cosSqAlpha=0 (�6)
}
double C = f / 16 * cosSqAlpha * (4 + f * (4 - 3 * cosSqAlpha));