diff options
Diffstat (limited to 'docs/examples/tutorial/parallelization/normalize.pyx')
-rw-r--r-- | docs/examples/tutorial/parallelization/normalize.pyx | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/docs/examples/tutorial/parallelization/normalize.pyx b/docs/examples/tutorial/parallelization/normalize.pyx new file mode 100644 index 000000000..e167ad7ad --- /dev/null +++ b/docs/examples/tutorial/parallelization/normalize.pyx @@ -0,0 +1,17 @@ +from cython.parallel cimport parallel, prange +cimport cython +from libc.math cimport sqrt + +@cython.boundscheck(False) +@cython.wraparound(False) +def normalize(double[:] x): + cdef Py_ssize_t i + cdef double total = 0 + cdef double norm + with nogil, parallel(): + for i in prange(x.shape[0]): + total += x[i]*x[i] + norm = sqrt(total) + for i in prange(x.shape[0]): + x[i] /= norm + |