#from: http://jakevdp.github.com/blog/2012/08/24/numba-vs-cython/ #setup: import numpy as np ; X = np.linspace(0,10,200).reshape(20,10) #run: pairwise_loop(X) #pythran export pairwise_loop(float [][]) import numpy as np def pairwise_loop(X): M, N = X.shape D = np.empty((M,M)) for i in range(M): for j in range(M): d = 0.0 for k in range(N): tmp = X[i,k] - X[j,k] d += tmp * tmp D[i,j] = np.sqrt(d) return D