diff options
Diffstat (limited to 'docs/examples/tutorial/parallelization/normalize.py')
-rw-r--r-- | docs/examples/tutorial/parallelization/normalize.py | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/docs/examples/tutorial/parallelization/normalize.py b/docs/examples/tutorial/parallelization/normalize.py new file mode 100644 index 000000000..0519be4d4 --- /dev/null +++ b/docs/examples/tutorial/parallelization/normalize.py @@ -0,0 +1,16 @@ +from cython.parallel import parallel, prange +import cython +from cython.cimports.libc.math import sqrt + +@cython.boundscheck(False) +@cython.wraparound(False) +def normalize(x: cython.double[:]): + i: cython.Py_ssize_t + total: cython.double = 0 + norm: cython.double + with cython.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 |