cython: hello world and primes examples

This commit is contained in:
Ciro Santilli 六四事件 法轮功
2020-02-26 00:00:03 +00:00
parent 6f691eb7d8
commit 9f934c7cd6
7 changed files with 42 additions and 0 deletions

View File

@@ -0,0 +1 @@
print("Hello World")

6
userland/libs/cython/main.py Executable file
View File

@@ -0,0 +1,6 @@
#!/usr/bin/env python3
import helloworld
import primes
print(primes.primes(4))

View File

@@ -0,0 +1,23 @@
def primes(int nb_primes):
cdef int n, i, len_p
cdef int p[1000]
if nb_primes > 1000:
nb_primes = 1000
len_p = 0 # The current number of elements in p.
n = 2
while len_p < nb_primes:
# Is n prime?
for i in p[:len_p]:
if n % i == 0:
break
# If no break occurred in the loop, we have a prime.
else:
p[len_p] = n
len_p += 1
n += 1
# Let's return the result in a python list:
result_as_list = [prime for prime in p[:len_p]]
return result_as_list

View File

@@ -0,0 +1,6 @@
from distutils.core import setup
from Cython.Build import cythonize
setup(
ext_modules = cythonize(['*.pyx']),
)

4
userland/libs/cython/test Executable file
View File

@@ -0,0 +1,4 @@
#!/usr/bin/env bash
set -eux
python3 setup.py build_ext --inplace
./main.py