Package org.apache.lucene.util
Class SloppyMath
java.lang.Object
org.apache.lucene.util.SloppyMath
Math functions that trade off accuracy for speed.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic double
asin
(double a) Returns the arc sine of a value.static double
cos
(double a) Returns the trigonometric cosine of an angle.static double
earthDiameter
(double latitude) Return an approximate value of the diameter of the earth at the given latitude, in kilometers.static double
haversin
(double lat1, double lon1, double lat2, double lon2) Returns the distance in kilometers between two points specified in decimal degrees (latitude/longitude).
-
Constructor Details
-
SloppyMath
public SloppyMath()
-
-
Method Details
-
haversin
public static double haversin(double lat1, double lon1, double lat2, double lon2) Returns the distance in kilometers between two points specified in decimal degrees (latitude/longitude).- Parameters:
lat1
- Latitude of the first point.lon1
- Longitude of the first point.lat2
- Latitude of the second point.lon2
- Longitude of the second point.- Returns:
- distance in kilometers.
-
cos
public static double cos(double a) Returns the trigonometric cosine of an angle.Error is around 1E-15.
Special cases:
- If the argument is
NaN
or an infinity, then the result isNaN
.
- Parameters:
a
- an angle, in radians.- Returns:
- the cosine of the argument.
- See Also:
- If the argument is
-
asin
public static double asin(double a) Returns the arc sine of a value.The returned angle is in the range -pi/2 through pi/2. Error is around 1E-7.
Special cases:
- If the argument is
NaN
or its absolute value is greater than 1, then the result isNaN
.
- Parameters:
a
- the value whose arc sine is to be returned.- Returns:
- arc sine of the argument
- See Also:
- If the argument is
-
earthDiameter
public static double earthDiameter(double latitude) Return an approximate value of the diameter of the earth at the given latitude, in kilometers.
-