''' Created on 11/07/2013 @author: Mads M. Pedersen (mmpe@dtu.dk) ''' from __future__ import print_function from __future__ import unicode_literals from __future__ import division from __future__ import absolute_import from builtins import range from builtins import int from future import standard_library standard_library.install_aliases() import math from wetb.utils.cython_compile.cython_compile import cython_compile, \ cython_compile_autodeclare, cython_import from wetb.utils.cython_compile.examples import cycheck def pycheck(p): for i in range(10): for y in range(2, int(math.sqrt(p)) + 1): if p % y == 0: return False return True @cython_compile def cycheck_compile(p): import math for i in range(10): for y in range(2, int(math.sqrt(p)) + 1): if p % y == 0: return False return True @cython_compile_autodeclare def cycheck_compile_autodeclare(p): import math for i in range(10): for y in range(2, int(math.sqrt(p)) + 1): if p % y == 0: return False return True if __name__ == "__main__": p = 17 print (pycheck(p)) cython_import('cycheck') print (cycheck.cycheck(p)) print (cycheck.cycheck_pure(p)) print (cycheck.cycheck_cdef(p)) print (cycheck_compile(p)) print (cycheck_compile_autodeclare(p))