Haversine formula: Difference between revisions
Content added Content deleted
Hendursaga (talk | contribs) 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}}== |