# Test for a prime number
# by mikeXstudios

import math

def isPrime(inNumber):
    
    #Test for 1 or 2
    if(inNumber==1 or inNumber==2):
        return True

    #Test for even
    if(inNumber%2==0):
        return False

    #Brute force up to the square root
    #but also check for roots of < 3
    end = math.sqrt(inNumber)
    if(end < 3): #fix problem e.g. sqrt(6) = 1
        end = 4

    #Since range() seems to freeze because it generates
    #the list first, try using a while loop
    divisor=3
    while(divisor<=end):
        if(inNumber%divisor==0):
            return False

        #Increment to stay on odd numbers.
        divisor+=2

    #If the program gets to here, then the number is a prime
    return True
