Is self a prime number ?

assert 3.is_prime
assert not 1.is_prime
assert not 15.is_prime

Property definitions

core :: math $ Int :: is_prime
	# Is self a prime number ?
	#
	#	assert 3.is_prime
	#	assert not 1.is_prime
	#	assert not 15.is_prime
	fun is_prime: Bool
	do
		if self == 2 then
			return true
		else if self <= 1 or self.is_even then
			return false
		end
		for i in [3..self.sqrt] do
			if self % i == 0 then return false
		end
		return true
	end
lib/core/math.nit:127,2--143,4