## robocode.util
Class Utils

    java.lang.Object
      robocode.util.Utils

    public class Utils

extends Object

Utility class that provide methods for normalizing angles.

Author:
  Mathew A. Nelson (original), Flemming N. Larsen (contributor)

Method Summary
`static boolean` `isNear(double value1, double value2)` Tests if the two `double` values are near to each other.
`static double` `normalAbsoluteAngle(double angle)` Normalizes an angle to an absolute angle.
`static double` `normalNearAbsoluteAngle(double angle)` Normalizes an angle to be near an absolute angle.
`static double` `normalRelativeAngle(double angle)` Normalizes an angle to a relative angle.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Method Detail

### normalAbsoluteAngle

    public static double normalAbsoluteAngle(double angle)

  Normalizes an angle to an absolute angle. The normalized angle will be in the range from 0 to 2*PI, where 2*PI itself is not included.

  Parameters:
    `angle` - the angle to normalize
  Returns:
    the normalized angle that will be in the range of [0,2*PI[

### normalRelativeAngle

    public static double normalRelativeAngle(double angle)

  Normalizes an angle to a relative angle. The normalized angle will be in the range from -PI to PI, where PI itself is not included.

  Parameters:
    `angle` - the angle to normalize
  Returns:
    the normalized angle that will be in the range of [-PI,PI[

### normalNearAbsoluteAngle

    public static double normalNearAbsoluteAngle(double angle)

  Normalizes an angle to be near an absolute angle. The normalized angle will be in the range from 0 to 2*PI, where 2*PI itself is not included. If the normalized angle is near to 0, PI/2, PI, 3*PI/2 or 2*PI, that angle will be returned. The `isNear` method is used for defining when the angle is near one of angles listed above.

  Parameters:
    `angle` - the angle to normalize
  Returns:
    the normalized angle that will be in the range of [0,2*PI[
  See Also:
    `normalAbsoluteAngle(double)`, `isNear(double, double)`

### isNear

    public static boolean isNear(double value1,
                                 double value2)

  Tests if the two `double` values are near to each other. It is recommended to use this method instead of testing if the two doubles are equal using an this expression: `value1 == value2`. The reason being, that this expression might never become `true` due to the precision of double values. Whether or not the specified doubles are near to each other is defined by the following expression: `(Math.abs(value1 - value2) < .00001)`

  Parameters:
    `value1` - the first double value
    `value2` - the second double value
  Returns:
    `true` if the two doubles are near to each other; `false` otherwise.