Normalize the self angle in radians to be within [-pi .. pi[

assert (1.5*pi).angle_normalize.is_approx(-0.5*pi, 0.0001)
assert 8.0.angle_normalize.is_approx(1.7168, 0.0001)
assert (-1.0).angle_normalize == -1.0

Property definitions

geometry :: angles $ Float :: angle_normalize
	# Normalize the `self` angle in radians to be within `[-pi .. pi[`
	#
	# ~~~
	# assert (1.5*pi).angle_normalize.is_approx(-0.5*pi, 0.0001)
	# assert 8.0.angle_normalize.is_approx(1.7168, 0.0001)
	# assert (-1.0).angle_normalize == -1.0
	# ~~~
	fun angle_normalize: Float
	do
		var s = self
		while s < -pi do s += 2.0*pi
		while s >= pi do s -= 2.0*pi
		return s
	end
lib/geometry/angles.nit:39,2--52,4