Angle difference between two bearings: Difference between revisions

m (Fixed XBS example)
Line 2,393:
1174.84 -154146.66 -161.50
60175.77 42213.07 37.30
</pre>
 
=={{header|Objeck}}==
{{trans|Java}}
<lang objeck>class AngleBearings {
function : Main(args : String[]) ~ Nil {
"Input in -180 to +180 range"->PrintLine();
GetDifference(20.0, 45.0)->PrintLine();
GetDifference(-45.0, 45.0)->PrintLine();
GetDifference(-85.0, 90.0)->PrintLine();
GetDifference(-95.0, 90.0)->PrintLine();
GetDifference(-45.0, 125.0)->PrintLine();
GetDifference(-45.0, 145.0)->PrintLine();
GetDifference(-45.0, 125.0)->PrintLine();
GetDifference(-45.0, 145.0)->PrintLine();
GetDifference(29.4803, -88.6381)->PrintLine();
GetDifference(-78.3251, -159.036)->PrintLine();
 
"Input in wider range"->PrintLine();
GetDifference(-70099.74233810938, 29840.67437876723)->PrintLine();
GetDifference(-165313.6666297357, 33693.9894517456)->PrintLine();
GetDifference(1174.8380510598456, -154146.66490124757)->PrintLine();
GetDifference(60175.77306795546, 42213.07192354373)->PrintLine();
}
 
function : native : GetDifference(b1 : Float, b2 : Float) ~ Float {
r := Float->Mod(b2 - b1, 360.0);
if (r < -180.0) {
r += 360.0;
};
 
if (r >= 180.0) {
r -= 360.0;
};
 
return r;
}
}</lang>
 
{{output}}
<pre>
Input in -180 to +180 range
25
90
175
-175
170
-170
170
-170
-118.118
-80.7109
Input in wider range
-139.583
-72.3439
-161.503
37.2989
</pre>
 
760

edits