diff --git a/.gitignore b/.gitignore index 9e4c862..a33a7a3 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,9 @@ *~ +.eggs/ +dist/ +wheelhouse/ +cosmotool.egg-info/ +build/ *.o *.prog *.pyc diff --git a/CMakeLists.txt b/CMakeLists.txt index 565a80e..ca6f9ca 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -70,8 +70,8 @@ SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "A toolbox for impatient cosmologists") SET(CPACK_PACKAGE_VENDOR "Guilhem Lavaux") SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENCE_CeCILL_V2") SET(CPACK_PACKAGE_VERSION_MAJOR "1") -SET(CPACK_PACKAGE_VERSION_MINOR "0") -SET(CPACK_PACKAGE_VERSION_PATCH "0${EXTRA_VERSION}") +SET(CPACK_PACKAGE_VERSION_MINOR "1") +SET(CPACK_PACKAGE_VERSION_PATCH "1${EXTRA_VERSION}") SET(CPACK_PACKAGE_INSTALL_DIRECTORY "CosmoToolbox-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}") SET(CPACK_STRIP_FILES "lib/libCosmoTool.so") SET(CPACK_SOURCE_IGNORE_FILES diff --git a/python/_cosmomath.pyx b/python/_cosmomath.pyx index 4b2b21f..0aa5fd4 100644 --- a/python/_cosmomath.pyx +++ b/python/_cosmomath.pyx @@ -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] = parallel_ufunc_dd_d[double,npy_intp] input_output_types[0] = np.NPY_DOUBLE input_output_types[1] = np.NPY_DOUBLE diff --git a/setup.py b/setup.py index 08d94d9..04e9df0 100644 --- a/setup.py +++ b/setup.py @@ -218,7 +218,7 @@ class BuildCMakeExt(build_ext): CosmoTool_extension = CMakeExtension(name="cosmotool") setup(name='cosmotool', - version='1.1.0', + version='1.1.1', packages=["cosmotool"], package_dir={'cosmotool': 'python/cosmotool'}, install_requires=['numpy','cffi','numexpr','pyfftw','h5py'],