summaryrefslogtreecommitdiff
path: root/docs/examples/tutorial/parallelization/norm.py
blob: 1d8c2758a1c0e9ef36dd5dd938fc0b2ac303e36d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
from cython.parallel import prange
import cython
from cython.cimports.libc.math import sqrt

@cython.boundscheck(False)
@cython.wraparound(False)
def l2norm(x: cython.double[:]):
    total: cython.double = 0
    i: cython.Py_ssize_t
    for i in prange(x.shape[0], nogil=True):
        total += x[i]*x[i]
    return sqrt(total)