Jump to content

Haversine formula: Difference between revisions

adding lambdatalk
m (Correct spelling of alternatively)
(adding lambdatalk)
Line 1,894:
 
fun main(args: Array<String>) = println("result: " + haversine(36.12, -86.67, 33.94, -118.40))</syntaxhighlight>
 
=={{header|Lambdatalk}}==
{{trans|Python}}
<syntaxhighlight lang="scheme">
{def haversine
{def diameter {* 6372.8 2}}
{def radians {lambda {:a} {* {/ {PI} 180} :a}}}
{lambda {:lat1 :lon1 :lat2 :lon2}
{let { {:dLat {radians {- :lat2 :lat1}}}
{:dLon {radians {- :lon2 :lon1}}}
{:lat1 {radians :lat1}}
{:lat2 {radians :lat2}}
} {* {diameter}
{asin {sqrt {+ {pow {sin {/ :dLat 2}} 2}
{* {cos :lat1}
{cos :lat2}
{pow {sin {/ :dLon 2}} 2} }}}}}}}}
-> haversine
 
{haversine 36.12 -86.67 33.94 -118.40}
-> 2887.2599506071106
</syntaxhighlight>
 
=={{header|Liberty BASIC}}==
99

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.