Angle difference between two bearings: Difference between revisions

added ocaml
m (put Kotlin at its place alphabetically)
(added ocaml)
Line 1,607:
60175.77 42213.07 37.30
</pre>
 
 
=={{header|OCaml}}==
{{trans|D}}
<lang ocaml>let get_diff b1 b2 =
let r = mod_float (b2 -. b1) 360.0 in
if r < -180.0
then r +. 360.0
else if r >= 180.0
then r -. 360.0
else r
let () =
print_endline "Input in -180 to +180 range";
Printf.printf " %g\n" (get_diff 20.0 45.0);
Printf.printf " %g\n" (get_diff (-45.0) 45.0);
Printf.printf " %g\n" (get_diff (-85.0) 90.0);
Printf.printf " %g\n" (get_diff (-95.0) 90.0);
Printf.printf " %g\n" (get_diff (-45.0) 125.0);
Printf.printf " %g\n" (get_diff (-45.0) 145.0);
Printf.printf " %g\n" (get_diff (-45.0) 125.0);
Printf.printf " %g\n" (get_diff (-45.0) 145.0);
Printf.printf " %g\n" (get_diff 29.4803 (-88.6381));
Printf.printf " %g\n" (get_diff (-78.3251) (-159.036));
print_endline "Input in wider range";
Printf.printf " %g\n" (get_diff (-70099.74233810938) 29840.67437876723);
Printf.printf " %g\n" (get_diff (-165313.6666297357) 33693.9894517456);
Printf.printf " %g\n" (get_diff 1174.8380510598456 (-154146.66490124757));
Printf.printf " %g\n" (get_diff 60175.77306795546 42213.07192354373);
;;</lang>
 
{{out}}
<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>
 
=={{header|PARI/GP}}==