RosettaCodeData/Task/Angle-difference-between-two-bearings/Crystal/angle-difference-between-two-bearings.cr
2026-04-30 12:34:36 -04:00

14 lines
529 B
Crystal

def angle_diff (a1, a2)
diff = (a2 - a1) % 360
diff -= 360 if diff > +180
diff
end
rows = [{20, 45}, {-45, 45}, {-85, 90}, {-95, 90}, {-45, 125}, {-45, 145},
{29.4803, -88.6381}, {-78.3251, -159.036},
{-70099.74233810938, 29840.67437876723},
{-165313.6666297357, 33693.9894517456},
{1174.8380510598456, -154146.66490124757},
{60175.77306795546, 42213.07192354373}].each do |b1, b2|
puts "Angle difference between %12.4f and %12.4f is %9.4f°" % { b1, b2, angle_diff(b1, b2) }
end