Angle difference between two bearings: Difference between revisions

Scala contribution added.
No edit summary
(Scala contribution added.)
Line 1,500:
37.29885558826936</pre>
 
=={{header|Scala}}==
{{Out}}Best seen running in your browser either by [https://scalafiddle.io/sf/lH5eUix/0 ScalaFiddle (ES aka JavaScript, non JVM)] or [https://scastie.scala-lang.org/IgQSmzcjSpSMxvWWoZUc9w Scastie (remote JVM)].
<lang Scala>object AngleDifference extends App {
private def getDifference(b1: Double, b2: Double) = {
val r = (b2 - b1) % 360.0
if (r < -180.0) r + 360.0 else if (r >= 180.0) r - 360.0 else r
}
 
println("Input in -180 to +180 range")
println(getDifference(20.0, 45.0))
println(getDifference(-45.0, 45.0))
println(getDifference(-85.0, 90.0))
println(getDifference(-95.0, 90.0))
println(getDifference(-45.0, 125.0))
println(getDifference(-45.0, 145.0))
println(getDifference(-45.0, 125.0))
println(getDifference(-45.0, 145.0))
println(getDifference(29.4803, -88.6381))
println(getDifference(-78.3251, -159.036))
 
println("Input in wider range")
println(getDifference(-70099.74233810938, 29840.67437876723))
println(getDifference(-165313.6666297357, 33693.9894517456))
println(getDifference(1174.8380510598456, -154146.66490124757))
println(getDifference(60175.77306795546, 42213.07192354373))
 
}</lang>
=={{header|Sidef}}==
<lang ruby>func bearingAngleDiff(b1, b2) {
Line 1,527 ⟶ 1,554:
}</lang>
{{out}}
<pre> B1 B2 Difference
<pre>
B1 B2 Difference
-------------------- -------------------- --------------------
20 45 25
Line 1,541 ⟶ 1,567:
-165313.6666297357 33693.9894517456 -72.3439185187
1174.8380510598456 -154146.66490124757 -161.5029523074156
60175.77306795546 42213.07192354373 37.29885558827</pre>
</pre>
 
=={{header|zkl}}==
Anonymous user