diff options
Diffstat (limited to 'docs/examples/tutorial/parallelization/parallel_sin.pyx')
-rw-r--r-- | docs/examples/tutorial/parallelization/parallel_sin.pyx | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/docs/examples/tutorial/parallelization/parallel_sin.pyx b/docs/examples/tutorial/parallelization/parallel_sin.pyx new file mode 100644 index 000000000..c3091541e --- /dev/null +++ b/docs/examples/tutorial/parallelization/parallel_sin.pyx @@ -0,0 +1,16 @@ +from cython.parallel cimport prange +cimport cython +from libc.math cimport sin + +import numpy as np + +@cython.boundscheck(False) +@cython.wraparound(False) +def do_sine(double[:,:] input): + cdef double[:,:] output = np.empty_like(input) + cdef Py_ssize_t i, j + + for i in prange(input.shape[0], nogil=True): + for j in range(input.shape[1]): + output[i, j] = sin(input[i, j]) + return np.asarray(output) |