Haversine formula: Difference between revisions

Content added Content deleted
m (Correct spelling of alternatively)
(adding lambdatalk)
Line 1,894: Line 1,894:


fun main(args: Array<String>) = println("result: " + haversine(36.12, -86.67, 33.94, -118.40))</syntaxhighlight>
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}}==
=={{header|Liberty BASIC}}==