Value at a corner of the grid

Property definitions

noise $ ImprovedNoise :: grad
	# Value at a corner of the grid
	private fun grad(hash: Int, x, y, z: Float): Float
	do
		var h = hash & 15
		var u = if h < 8 then x else y
		var v = if h < 4 then y else if h == 12 or h == 14 then x else z
		return (if h.is_even then u else -u) + (if h & 2 == 0 then v else -v)
	end
lib/noise/noise.nit:422,2--429,4