@@ -19,7 +19,7 @@ import warnings
19
19
20
20
21
21
cdef extern from " EMD.h" :
22
- int EMD_wrap(int n1,int n2, double * X, double * Y,double * D, double * G, double * alpha, double * beta, double * cost, int maxIter)
22
+ int EMD_wrap(int n1,int n2, double * X, double * Y,double * D, double * G, double * alpha, double * beta, double * cost, int maxIter) nogil
23
23
cdef enum ProblemType: INFEASIBLE, OPTIMAL, UNBOUNDED, MAX_ITER_REACHED
24
24
25
25
@@ -110,7 +110,8 @@ def emd_c(np.ndarray[double, ndim=1, mode="c"] a, np.ndarray[double, ndim=1, mod
110
110
G= np.zeros([n1, n2])
111
111
112
112
# calling the function
113
- result_code = EMD_wrap(n1, n2, < double * > a.data, < double * > b.data, < double * > M.data, < double * > G.data, < double * > alpha.data, < double * > beta.data, < double * > & cost, max_iter)
113
+ with nogil:
114
+ result_code = EMD_wrap(n1, n2, < double * > a.data, < double * > b.data, < double * > M.data, < double * > G.data, < double * > alpha.data, < double * > beta.data, < double * > & cost, max_iter)
114
115
115
116
return G, cost, alpha, beta, result_code
116
117
0 commit comments