Angle difference between two bearings: Difference between revisions

m
put Kotlin at its place alphabetically
(→‎{{header|Groovy}}: Additional notes)
m (put Kotlin at its place alphabetically)
Line 1,304:
 
</pre>
 
 
=={{header|Kotlin}}==
<lang scala>// version 1.1.2
 
class Angle(d: Double) {
val value = when {
d in -180.0 .. 180.0 -> d
d > 180.0 -> (d - 180.0) % 360.0 - 180.0
else -> (d + 180.0) % 360.0 + 180.0
}
 
operator fun minus(other: Angle) = Angle(this.value - other.value)
}
 
fun main(args: Array<String>) {
val anglePairs = arrayOf(
20.0 to 45.0,
-45.0 to 45.0,
-85.0 to 90.0,
-95.0 to 90.0,
-45.0 to 125.0,
-45.0 to 145.0,
29.4803 to -88.6381,
-78.3251 to -159.036,
-70099.74233810938 to 29840.67437876723,
-165313.6666297357 to 33693.9894517456,
1174.8380510598456 to -154146.66490124757,
60175.77306795546 to 42213.07192354373
)
println(" b1 b2 diff")
val f = "% 12.4f % 12.4f % 12.4f"
for (ap in anglePairs) {
val diff = Angle(ap.second) - Angle(ap.first)
println(f.format(ap.first, ap.second, diff.value))
}
}</lang>
 
{{out}}
<pre>
b1 b2 diff
20.0000 45.0000 25.0000
-45.0000 45.0000 90.0000
-85.0000 90.0000 175.0000
-95.0000 90.0000 -175.0000
-45.0000 125.0000 170.0000
-45.0000 145.0000 -170.0000
29.4803 -88.6381 -118.1184
-78.3251 -159.0360 -80.7109
-70099.7423 29840.6744 -139.5833
-165313.6666 33693.9895 -72.3439
1174.8381 -154146.6649 -161.5030
60175.7731 42213.0719 37.2989
</pre>
 
 
=={{header|Lua}}==
Line 1,418 ⟶ 1,473:
37.29885</pre>
 
 
=={{header|Kotlin}}==
<lang scala>// version 1.1.2
 
class Angle(d: Double) {
val value = when {
d in -180.0 .. 180.0 -> d
d > 180.0 -> (d - 180.0) % 360.0 - 180.0
else -> (d + 180.0) % 360.0 + 180.0
}
 
operator fun minus(other: Angle) = Angle(this.value - other.value)
}
 
fun main(args: Array<String>) {
val anglePairs = arrayOf(
20.0 to 45.0,
-45.0 to 45.0,
-85.0 to 90.0,
-95.0 to 90.0,
-45.0 to 125.0,
-45.0 to 145.0,
29.4803 to -88.6381,
-78.3251 to -159.036,
-70099.74233810938 to 29840.67437876723,
-165313.6666297357 to 33693.9894517456,
1174.8380510598456 to -154146.66490124757,
60175.77306795546 to 42213.07192354373
)
println(" b1 b2 diff")
val f = "% 12.4f % 12.4f % 12.4f"
for (ap in anglePairs) {
val diff = Angle(ap.second) - Angle(ap.first)
println(f.format(ap.first, ap.second, diff.value))
}
}</lang>
 
{{out}}
<pre>
b1 b2 diff
20.0000 45.0000 25.0000
-45.0000 45.0000 90.0000
-85.0000 90.0000 175.0000
-95.0000 90.0000 -175.0000
-45.0000 125.0000 170.0000
-45.0000 145.0000 -170.0000
29.4803 -88.6381 -118.1184
-78.3251 -159.0360 -80.7109
-70099.7423 29840.6744 -139.5833
-165313.6666 33693.9895 -72.3439
1174.8381 -154146.6649 -161.5030
60175.7731 42213.0719 37.2989
</pre>
 
=={{header|Modula-2}}==