Haversine formula: Difference between revisions

Add support for Dart
(Add support for Dart)
Line 524:
<pre>Great circle distance: 2887.3 km
</pre>
 
=={{header|Dart}}==
{{trans|Java}}
<lang dart>
import 'dart:math';
 
class Haversine {
 
static double haversine(double lat1, lon1, lat2, lon2) {
final R = 6372.8; // kilometers
double dLat = _toRadians(lat2 - lat1);
double dLon = _toRadians(lon2 - lon1);
lat1 = _toRadians(lat1);
lat2 = _toRadians(lat2);
double a = pow(sin(dLat / 2), 2) + pow(sin(dLon / 2), 2) * cos(lat1) * cos(lat2);
double c = 2 * asin(sqrt(a));
return R * c;
}
 
static double _toRadians(double degree) {
return degree * pi / 180;
}
 
void main() {
print(haversine(36.12, -86.67, 33.94, -118.40));
}
}
</lang>
{{out}}
<pre>2887.2599506071106</pre>
 
=={{header|Delphi}}==