normalizeAngle180 function

double normalizeAngle180(
  1. double degrees
)

Normalizes degrees into the range (-180, 180].

Useful for shortest-rotation calculations where the sign indicates direction.

Example:

normalizeAngle180(270); // -90.0

Implementation

double normalizeAngle180(double degrees) {
  double d = degrees % 360;
  if (d > 180) d -= 360;
  if (d < -180) d += 360;
  return d;
}