Add omp parallelization for bessel function
This commit is contained in:
parent
67c609a422
commit
84a1d3bf47
4 changed files with 16 additions and 4 deletions
|
@ -1,3 +1,4 @@
|
|||
#cython: language_level=3
|
||||
import numpy as np
|
||||
cimport numpy as np
|
||||
|
||||
|
@ -7,15 +8,21 @@ np.import_ufunc()
|
|||
cdef extern from "sys/types.h":
|
||||
ctypedef np.int64_t int64_t
|
||||
|
||||
cdef extern from "numpy/npy_common.h":
|
||||
ctypedef npy_intp
|
||||
|
||||
cdef extern from "special_math.hpp" namespace "CosmoTool":
|
||||
T log_modified_bessel_first_kind[T](T v, T z) nogil except +
|
||||
|
||||
cdef extern from "numpy_adaptor.hpp" namespace "CosmoTool":
|
||||
void parallel_ufunc_dd_d[T,IT](char **args, IT* dimensions, IT* steps, void *func)
|
||||
|
||||
|
||||
cdef np.PyUFuncGenericFunction loop_func[1]
|
||||
cdef char input_output_types[3]
|
||||
cdef void *elementwise_funcs[1]
|
||||
|
||||
loop_func[0] = np.PyUFunc_dd_d
|
||||
loop_func[0] = <np.PyUFuncGenericFunction>parallel_ufunc_dd_d[double,npy_intp]
|
||||
|
||||
input_output_types[0] = np.NPY_DOUBLE
|
||||
input_output_types[1] = np.NPY_DOUBLE
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue